【问题标题】:accept attribute doesn't accept certain mime types接受属性不接受某些 mime 类型
【发布时间】:2017-10-14 11:43:51
【问题描述】:

我在文件输入字段上使用了接受属性,但某些 MIME 类型不起作用。大多数 MS Office 格式都可以正常工作,例如 xlsxlsxdocdocx 等,但 Visio (vsd) 和 Publisher (pub) 文件不能,也不能用于富文本 (rtf )。

我尝试了以下 MIME 类型:

application/vsd
application/vnd.visio
application/ms-visio
application/x-visio
application/visio
application/visio.drawing
application/x-vsd
application/x-mspublisher
text/richtext
application/rtf
application/x-rtf

是否只有某些类型对accept 有效?我已经在 Chrome 和 IE11 中进行了测试。

【问题讨论】:

  • 它正在正常工作 -jsfiddle.net/zuxq2gr0/7
  • @AmbrishPathak 好的,它在不使用 mime 类型并且只是像在小提琴中一样直接添加扩展名时工作。让它成为一个答案,我会接受它。

标签: html mime-types


【解决方案1】:

我在 Mac Chrome 上遇到了类似的问题:当我只希望用户能够上传 Excel 文件时,我尝试了以下每种 MIME 类型:

  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • 应用程序/excel
  • application/vnd.ms-excel
  • 应用程序/x-excel
  • 应用程序/x-msexcel

但是,当使用其中之一时,浏览器会让我选择:Excel、Word、PowerPoint 和 PDF 文件(但不是图像文件,因此它实际上是在尝试验证)。

指定扩展名而不是 MIME 类型确实有效:

<input accept=".xls,.xlsx" />

【讨论】:

    猜你喜欢
    • 2019-12-15
    • 2018-02-03
    • 1970-01-01
    • 1970-01-01
    • 2015-07-18
    • 2013-06-13
    • 1970-01-01
    • 2015-05-26
    • 2010-10-26
    相关资源
    最近更新 更多