2016-03-29 21 views
0

我正在使用JQuery Mobile構建移動Web應用程序。我已經在應用程序中完成了圖片上傳,我訪問了手機相機拍照和上傳。jQuery手機上傳圖像以後互聯網很好

我的問題是當我上傳圖片,如果我的網絡不好,我失去了我上傳的圖片。

代碼:

<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 mobile」檢查互聯網的實力,並提示用戶使用低網絡,以便他/她可以上傳!

或者

是否有任何其他方式來解決呢?

注:

  • 我的應用程序是通過「瀏覽器」訪問,所以我知道我是限制訪問的文件夾。

  • 請不要指教我創建一個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大小的單一圖像從4-5MB不等,但我的應用程序必須存儲更多的..但HTML5可以存儲5Mb,但數據呢? – TomPHP

+0

你是對的Html5的存儲空間限於每個來源10MB(鉻)。保存之前,您應該在客戶端壓縮圖片。在我們的應用上,我們正在上傳之前使用畫布進行遊戲。 (像這樣http://stackoverflow.com/a/6752580/5703316) –