2016-04-30 40 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默认值)...