問題
内容を見るとおそらくMP4でも起きるであろう問題。
問題としては、iOSでwebviewで表示しているページのinputタグからmovファイルをアップロードしようとするとクラッシュする、というもの。
調べてみるとどうやらこのバグレポートが該当するっぽい。 http://www.openradar.me/28016475
これが起こる条件としては
- WebView on iOS
- multiple属性の
input
タグ - カメラロールからmovファイルを選択
となる。
ちなみにmobile safariでは起きない。
原因
複数選択可能なfileフォームでカメラロールから動画を選択すると、動画が圧縮されないというiOSのバグ。圧縮されていない動画をJavaScriptでは処理できないためクラッシュする。
解決
<input type="file" multiple />
からmultiple属性を外して
<input type="file">
として複数選択を禁止すれば良い。
単一選択フォームだとこのバグは再現しない。
ただ、こうなるとiOSユーザーにファイルの複数選択ができなくなる不便を強いることになる。
せめて動画アップロード専用のフォームを用意するくらいはしたい。