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

Posted

技术标签:

【中文标题】Safari <input type="file" accept="video/*"> 忽略 mp4 文件【英文标题】:Safari <input type="file" accept="video/*"> ignores mp4 files 【发布时间】:2013-10-07 02:40:01 【问题描述】:

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

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

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

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

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

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

@g*** 也许你想要视频/快速时间 对于 m4a 音频文件,我不得不使用 accept="audio/x-m4a,audio/*"【参考方案2】:

你可以看看webkit源代码~/Source/WebCore/platform/MIMETypeRegistry.cpp。

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

【讨论】:

以上是关于Safari <input type="file" accept="video/*"> 忽略 mp4 文件的主要内容,如果未能解决你的问题,请参考以下文章

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

safari input type="number"

input标签存在的兼容问题?

为啥 `input type="date"` 的行为发生了变化?

jquery td元素里面的input type="checkbox" id ="a1"的元素怎么获取这个复选框?

ios safari input fixed 软键盘里的爱恨情仇