1.预览图片用到了uniapp提供的previewImage
1 2 3 4 5 6 7
| uni.previewImage({ urls: this.list[index].pics, current: this.list[index].pics[i], longPressActions: { itemList: ['保存图片'] } })
|
2.下载图片用到了uniapp提供的downloadFile
下载文件资源到本地,客户端直接发起一个 HTTP GET 请求,返回文件的本地临时路径。
1 2 3 4 5 6
| uni.downloadFile({ url: '', success: (res) => { } })
|
3.拿到本地临时路径,就可以调用uniapp提供的saveImageToPhotosAlbum保存到本地相册
1 2 3 4 5 6
| uni.saveImageToPhotosAlbum({ filePath: '', success: function () { console.log('save success'); } })
|
最后附上三个结合一起的代码,实现预览图片,长按下载图片到本地相册
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
preview(index,i) { let that = this uni.previewImage({ urls: this.list[index].pics, current: this.list[index].pics[i], longPressActions: { itemList: ['保存图片'], success: function(ress) { uni.downloadFile({ url: that.list[index].pics[ress.index], success: (res) =>{ if (res.statusCode === 200){ uni.saveImageToPhotosAlbum({ filePath: res.tempFilePath, success: function() { uni.showToast({ title: "保存成功", icon: "success" }); }, fail: function() { uni.showToast({ title: "保存失败,请稍后重试", icon: "none" }); } }); } } }) }, fail: function(res) { console.log(res.errMsg); } } }); },
|
最后说明:这只是本人自己的一些见解,有不足的地方,欢迎大家前来指正。