2012-10-24 37 views
3

我正在尋找的是一種在離線網絡應用程序中「上傳」圖像的方法。我希望有一種方法可以將選定的圖像存儲在緩存中,然後在他們再次訪問互聯網時上傳。是這樣的可能嗎?可以在離線網絡應用程序中上傳圖片嗎?

+0

* Dropbox *做到了。但以不同的方式.. –

回答

6

您可以使用HTML5 FileSystem來存儲圖像文件,它在很多瀏覽器中都還沒有實現。然後,您可以使用HTTP POST消息將圖像文件上傳到服務器。並且,當通過HTTP上傳時,以Base64格式對圖像文件進行編碼是安全的。

要檢查互聯網連接,可以使用XMLHTTPRequest。

0

您可能會嘗試使用Java小程序。它可以在客戶端運行。因此,您可以在稍後上載圖像之前編寫一些代碼,以便將圖像存儲在某處。

1

最接近實現這種效果的是,如果Web應用程序提供某種在客戶端上安裝並運行的客戶端程序

這個本地客戶端然後會考慮到上傳特定文件的任何請求(無論是將這些文件複製到緩存還是僅僅注意文件位置以供將來訪問),然後繼續嘗試有效地將每個這樣的文件發送到服務器當它重新變得可用時。

這僅僅是一個把戲,因爲絕對與服務器沒有交互可能(從客戶的角度來看)當它處於脫機狀態

2

是這樣的可能嗎?

...對於小文件。

您可以使用HTML5 File API加載文件數據,並通過AJAX將其發佈到服務器。沒有連接會返回一個可用於觸發某種存儲機制的HTTP狀態代碼。

localStorage有一個約5MB的限制,這就是爲什麼我說「小文件」。

Web SQL Databases也許能夠存儲更多的數據,但它不再保持:

當心。此規範不再處於主動維護狀態,Web應用程序工作組不打算進一步維護它。

TL;博士:

如果你想緩存的小圖像或文本文件,它可以存儲在本地和輪詢互聯網連接。

如果你想讓用戶上傳托爾斯泰,你應該讓他們等待,直到他們有一個活躍的互聯網連接。

相關問題