33

ユーザーが画像ファイルをサーバーにアップロードできるように、「ファイル」タイプの入力要素を含むモバイル Web ページがあります。このページは、iOS および Chrome ブラウザの Nexus 4 (Android 4.2.1) で正常に動作します。

デフォルトのブラウザーで Samsung S3 (Android 4.0.4) を使用している場合、[ファイルを選択] ボタンをクリックすると、期待どおりに画像選択ダイアログが開きますが、画像を選択してダイアログを閉じると、Web ページが更新されるので、選択した画像を失います。他の誰かがこの動作を見たことがありますか? 回避策の提案はありますか?

私が使用している入力要素はかなり標準的で、次のようになります。

<input id="addPhoto" type="file" accept="image/*"/>

「受け入れる」属性がなくても、同じ問題が発生します。

4

3 に答える 3

25

この問題を見てください:

https://code.google.com/p/android/issues/detail?id=53088

基本的に、何が起こっているように見えるかは次のとおりです。

  • Android には、ファイル チューザーまたはカメラ アプリに使用できる十分なメモリがありません。

  • ブラウザを閉じてメモリを解放します

  • ファイルチューザー/カメラを閉じた後、ブラウザが再び開かれ、ページの更新がトリガーされ、ファイル選択の演習が役に立たなくなります。

これはブラウザベースのソリューションでは制御できないように思えますが、この仮定が間違っていることを証明したいと思います.

于 2013-05-15T14:39:56.990 に答える
2

Android 2.3.6 を搭載した電話でも同じ問題が発生しています。私の同僚の 1 人は、彼の電話に問題はありません (何が実行されているか思い出せません)。彼は、それがメモリの問題である可能性があると示唆しました。電話に十分な使用可能なメモリがない場合、ブラウザは実際には画像を選択した後にページを再読み込みすることを強制される可能性があり、これは目的を無効にします。これが問題であることをまだ確認できていませんが、私の電話は彼の電話よりもかなり少ないメモリを使用しています。

于 2013-01-28T21:40:03.997 に答える
-8

この JQuery メソッドを試すことができます: http://blueimp.github.com/jQuery-File-Upload/

見た目も素敵です

Uploadify も有望に見えます: http://www.uploadify.com/

これがデモです: http://www.uploadify.com/demos/

問題はコードではなく、使用しているデフォルトの Android ブラウザーにあると思います。

于 2013-01-14T18:19:24.407 に答える