Safari <input type ="file"accept ="video/*">忽略mp4文件

cda*_*zig 49 safari video file-io mp4 attributes

我正在使用这样的HTML文件输入:

<input type="file" accept="video/*"> 
Run Code Online (Sandbox Code Playgroud)

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

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

有关如何让选择对话框只允许在Safari中使用常见视频文件类型(不仅仅是.mov)的任何建议吗?

小智 76

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

accept="video/mp4,video/x-m4v,video/*"
Run Code Online (Sandbox Code Playgroud)

我不确定mm类型对于webm视频是什么类型,但如果你能看到它,你应该能够将它添加到接受字符串上.诀窍是指定mime类型,只使用文件扩展名将无法正常工作.

  • @gstackoverflow也许你想要视频/快速时间 (12认同)
  • 对于 m4a 音频文件,我必须使用 accept="audio/x-m4a,audio/*" (2认同)

Ala*_*ong 8

您可以查看webkit源代码〜/ Source/WebCore/platform/MIMETypeRegistry.cpp.

这些类型由Apple for Safari自定义,可能无法在其他浏览器上运行.