web-dev-qa-db-ja.com

Safari <input type = "file" accept = "video / *">はmp4ファイルを無視します

次のようなHTMLファイル入力を使用しています。

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

ユーザーが自分のサイトに動画をアップロードできるようにします。これは、Safariを除くすべての最新ブラウザー(ユーザーがビデオファイルを選択することのみを許可する)で期待どおりに機能します。

私がSafariに伝えることができることから、accept="video/*"属性としてaccept="*.mov"他のほとんどのビデオ形式/拡張機能(webm、m4vなど)を無視します。

Safariで(.movだけでなく)一般的なビデオファイルタイプのみを許可する選択ダイアログを取得する方法に関する提案はありますか?

44
cdanzig

次の受け入れ文字列により、safariが受け入れるファイルタイプのリストにmp4とm4vが追加されることがわかりました。

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

Mimeタイプがwebmビデオ用であるかどうかはわかりませんが、それを調べることができれば、受け入れ文字列に追加できるはずです。秘Theは、MIMEタイプを指定することです。ファイル拡張子を使用するだけでは機能しません。

69
sbennett

Webkitのソースコードを見ることができます 〜/ Source/WebCore/platform/MIMETypeRegistry.cpp

これらのタイプは、Appleによってカスタマイズされており、他のブラウザでは動作しない場合があります。

8
Alan Dong