Safari < input type = “ file”access = “ video/*”> 忽略 mp4文件

我使用的 HTML 文件输入如下:

<input type="file" accept="video/*">

允许我的用户上传视频到我的网站。这在除 Safari 之外的所有现代浏览器中都能正常工作(只允许用户选择视频文件)。

据我所知,Safari 似乎将 accept="video/*"属性解释为 accept="*.mov"忽略了大部分(如果不是全部的话)其他视频格式/扩展(webm、 m4v 等)。

对于如何让选择对话框在 Safari 中只允许常见的视频文件类型(而不仅仅是.mov) ,有什么建议吗?

101927 次浏览

我发现下面的接受字符串将把 mp4和 m4v 添加到 safari 将接受的文件类型列表中:

accept="video/mp4,video/x-m4v,video/*"

我不确定 webm 视频的哑剧类型是什么,但是如果你能查到的话,你应该可以把它添加到接受字符串上。诀窍是指定 mime 类型,仅仅使用文件扩展名是行不通的。

您可以查看 webkit 源代码 ~/Source/WebCore/Platform/MIMETypeRegistry.cpp

这些类型是苹果为 Safari 定制的,可能不适用于其他浏览器。