2016-04-30 56 views
-1

我有一個畫廊模塊,由於我們使用Ajax請求這個模塊中實現如下如何使用離子

- getting the file path from the server using ajaxrequest 
- the response will be json object of all image file path 
- setting the filepath in image src attribute 

功能,圖像加載只在聯機模式下,顯示在離線圖像。 因此如何實現這些功能,以便圖像也能在離線狀態下顯示。

回答

0

您可能會考慮將圖像作爲base64字符串從服務器返回並將它們存儲在本地存儲中。 在視圖中使用data-ng-src這樣的指令。 在您的控制器檢查是否沒有連接,並從本地存儲設置base64字符串,如下所示:$ scope.data.image_url =

0

加載一次圖像後,您最好的選擇是獲得它的base64表示,然後將其保存到磁盤。

這裏獲取的圖像的Base64表示: Get image data in JavaScript?

使用納克 - 科爾多瓦/離子天然和使用科爾多瓦文件插件WriteFile的方法以base64數據寫入到磁盤。 http://ngcordova.com/docs/plugins/file/

writeFile(path, file, data, replace) 
0

有一些偉大的答案在這裏,我願的基礎上...

我會建議使用PouchDBBase64和/或斑點後,你數據的高速緩存已經下載了原始文件(我的一個應用程序與將MP3數據轉換爲Blob的功能完全相同)。然後,您可以實施一種方法,在發出網絡請求之前檢查緩存中的圖像。

諾蘭勞森已經建立了一個很好的書房,這些二進制轉換:https://github.com/nolanlawson/blob-util

只是以base64字符串保存到PouchDB實例的初始下載後,就可以檢查該數據的應用達到了網絡之前。

只要注意iOS Safari上的存儲限制(約50mb默認值)...