Posted at

iOSのUIWebView/WKWebViewでmovファイルがアップロードできない問題

More than 1 year has passed since last update.


問題

内容を見るとおそらく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ユーザーにファイルの複数選択ができなくなる不便を強いることになる。

せめて動画アップロード専用のフォームを用意するくらいはしたい。