2016-03-29 1 views
0

JQuery Mobileを使用してモバイルWebアプリケーションを構築しています。私はアプリケーションで画像のアップロードを行っています。そこでは、モバイルカメラにアクセスして写真を撮ってアップロードします。jQuery mobileインターネットが良いときに画像をアップロードする

私の問題は画像をアップロードするときです。インターネットがうまくいかない場合は、私がアップロードしている画像を紛失します。

コード:

<form id="uploadimage" action="" method="post" enctype="multipart/form-data"> 
<input type="file" data-clear-btn="false" name="file" id="file" accept="image/*" capture> 
<input type="submit" value="Upload" class="submit" /> 
</form> 

質問:

  1. インターネット接続が良好な場合、私は、後に画像をアップロードすることができますどのような方法がありますか。?

  2. フォルダを作成して画像を保存して後でアップロードする方法はありますか?

  3. 「jQueryモバイル」を使用してインターネットの強さをチェックして、インターネットに接続できないため、後でアップロードできるようにするにはどうすればよいですか。

それとも

それを解決するための他の方法はありますか?

注:私は、私は、フォルダにアクセスするために限られていたことを知っているので

  • 私のアプリケーションは、「ブラウザ」を介してアクセスされました。

  • 私が解決策を達成できるので、私はAPPを作成するためにアドバイスをしないでください。私はすでにこれを服用しているAPPを持っているからです。しかし、私のユーザーのほとんどはWebアプリケーションが必要です。

答えて

1

その唯一のアイデア:

1)あなたがファイルをアップロードしようとすると、タイムアウトを開始することができます:それはクラッシュしたり、使用することができ、タイムアウトに達した場合

var uploadTimeout= window.setTimeout(function() { 
     alert("upload is slow"); 
     // cancel upload and save in temp folder here 
    }, 1000); 

    $(document).on('load', function() { 
     window.clearTimeout(uploadTimeout); 
    }, false); 

2) http://www.w3schools.com/html/html5_webstorage.asp

3)localStorageにいくつかのファイルがアップロード中に再試行している間に、クライアント側のストレージにファイルが保存されます。

+0

あなたはそれを考えていますか?一時フォルダからファイルにアクセスできますか? – TomPHP

+0

ローカルストレージは画像を保持できますか?私はhtml5_webstorageのリンクを読んで..しかし、サムスンやIOSのサイズは1つの画像が4-5MBと異なることが分かっていますが、私のアプリケーションはそれ以上保存しなければなりませんが、HTML5は5Mbしかデータを保存できません。 – TomPHP

+0

あなたは正しいHtml5ストレージが原点(クロム)あたり10MBに制限されています。保存する前にクライアント側でpicを圧縮する必要があります。私たちのアプリでは、アップロードする前にキャンバスで遊んでいます。 (このようなものhttp://stackoverflow.com/a/6752580/5703316) –

関連する問題