AngularJS HTML 输入文件限制为 Safari 中的文件格式

AngularJS HTML input file restricting to file formats in Safari

我正在使用下面的代码来限制用户上传文件格式,即在上传对话框中他将只能看到那些特定的文件。

type="file" accept=".pdf,.jpg,.jpeg,.jpe,.jfif,.tif,.tiff,.doc,.docx,.xls,.xlsx,.csv “

它在 Chrome、Mozilla 和 IE9 及更高版本中运行良好。但这在 IE8 和 Safari 中不起作用。

如何在 IE8 和 Safari 中进行限制?

通常情况下,最好按 MIME 类型而不是文件扩展名来检查,因为文件名可以更改为任何名称。这也是accept 属性.

的标准

特别是对于你的例子,你会想做这样的事情:

<input type="file" accept="application/pdf,application/msword,application/excel,image/jpeg,image/pjpeg,image/tiff,image/x-tiff" />

如果您想要更大的灵活性,您还可以执行 accept="image/*,video/*" 之类的操作来接受所有图像和视频类型。

有关 MIME 类型及其相应文件扩展名的列表,请参阅 this page