作者:Sinea来源:segmentfault.com/a/1190000023890043转载请注明出处,谢谢?(?ω?)?因为官方api下载事件uni.dow??nloadFile下载的是临时文件,需要配合使用uni.saveFile,但是uni.saveFile不支持H5,uni.saveImageToPhotosAlbum在保存图片到系统相册时不支持H5,所以使用下面的方法解决。安装依赖,这里使用FileSaver,支持自定义文件名npmifile-saver-S页面代码importFileSaverfrom'file-saver'···download(){letimgUrl='http://www.test.com/img/xxxx.jpg'//网络图片地址FileSaver.saveAs(imgUrl,'图片名称.jpg');}如果图片来源不同,产生跨域,需要配置proxy代理项目根目录到创建一个新的vue.config.js代码如下:module.exports={devServer:{proxy:{'/file_url':{//Injectwww.exaple.comas/apistarget:'http://www.test.com',//接口域名secure:false,//如果是https接口,需要配置这个参数changeOrigin:true,//是否跨域pathRewrite:{'^/file_url':''//Rewrite需要,}}}}}配置代理后,'/file_url'='http://www.test.com',需要替换图片地址前缀,页面代码:importFileSaverfrom'file-saver'···download(){letimgUrl='http://www.test.com/img/xxxx.jpg'//网络图片地址FileSaver.saveAs('/file_url'+'/img/xxxx.jpg','图片名.jpg');}效果如下:
