说一下我的应用场景:
网络加载图片太多,所以考虑使用本地缓存。图片下载到本地后使用本地路径。
用到的接口:
// 检查本地是否已经存储
plus.io.resolveLocalFileSystemURL
// 下载文件
plus.downloader.createDownload
// 下载失败删除文件
plus.io.resolveLocalFileSystemURL
存储地址使用:_downloads/xxx.jpg
得到的结果如楼主一样,安卓可以读取本地文件,iOS返回空白。
在群里问了半天,最后群主说建议使用uni的API
尝试方法:
// 下载文件
uni.downloadFile(OBJECT)
// 保存文件
uni.saveFile(OBJECT)
通过这种方法,确实可以显示图片,但是有一个问题,就是无法自定义文件名,
下载的临时路径,文件名是使用时间戳命名的,存储到本地后也只能是这个文件名,如果我们要监测缓存,就需要去维护一个网络图片与本地图片的map关系,而且缓存删除更新,都需要更新这个map文件,相对复杂。
思考:为什么uni.saveFile返回的路径可以显示,是不是ios的相对路径不一样?
通过打印,发现uni.saveFile存储到路径在_doc/
目录下,尝试把存储路径从_downloads
改为_doc
后,发现,问题解决了!
原来如此。
相关文档 相对路径URL
7 个评论
要回复文章请先登录或注册
2***@qq.com
3***@qq.com
1***@qq.com
灰色的灵魂
gysidon
cyyc (作者)
gysidon