如何配置HTML input标签accept属性支持上传.xlsm格式文件
.xlsm格式上传支持配置方法
要实现.xlsm(启用宏的Excel工作簿)格式的选择支持,需要在input标签的accept属性中补充该格式的匹配规则。考虑到不同浏览器对MIME类型的识别存在差异,建议同时配置标准MIME类型和文件后缀做双重兼容:
- 需新增的MIME类型:
application/vnd.ms-excel.sheet.macroEnabled.12(这是.xlsm格式对应的官方标准MIME类型) - 需新增的后缀匹配:
.xlsm(兜底匹配规则,解决部分浏览器、操作系统下MIME映射失效导致无法选中文件的问题)
修改后的完整代码如下:
<input type="file" accept="image/png, image/jpeg, application/pdf, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel.sheet.macroEnabled.12, .xlsm" ng-maxlength="100" required />
开发提示:
accept属性仅作用于前端文件选择弹窗的默认过滤逻辑,用户可以手动切换到「所有文件」选项绕过前端过滤上传任意后缀的文件,涉及文件上传的场景必须在服务端增加文件格式、内容的合法性校验,避免安全风险。
内容的提问来源于stack exchange,提问作者wkwkwk
相关产品推荐
相关产品推荐

