1. 首页

UniApp H5 浏览器下载图片 兼容iOS、Android

由于官方的api下载事件uni.downloadFile下载的是临时文件,需要配合uni.saveFile使用,但是uni.saveFile不支持H5,另外uni.saveImageToPhotosAlbum保存图片到系统相册也不支持H5,所以采用以下方式解决。

安装依赖,这里使用FileSaver,并且支持自定义文件名称


npm i file-saver -S

页面代码


import FileSaver from 'file-saver' ··· download(){ let imgUrl = 'http://www.test.com/img/xxxx.jpg' //网络图片地址 FileSaver.saveAs(imgUrl, '图片名称.jpg'); }

如果图片不同源产生跨域,需要配置代理proxy

项目根目录新建vue.config.js代码如下:


module.exports = { devServer:{ proxy:{ '/file_url': { //将www.exaple.com印射为/apis target: 'http://www.test.com', // 接口域名 secure: false, // 如果是https接口,需要配置这个参数 changeOrigin: true, //是否跨域 pathRewrite: { '^/file_url': '' //需要rewrite的, } } } } }

配置代理后,'/file_url' = 'http://www.test.com',需要替换图片地址前缀,页面代码:


import FileSaver from 'file-saver' ··· download(){ let imgUrl = 'http://www.test.com/img/xxxx.jpg' //网络图片地址 FileSaver.saveAs('/file_url'+'/img/xxxx.jpg', '图片名称.jpg'); }

作者:Sinea
链接:https://segmentfault.com/a/1190000023890043

看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 GitHub 博客,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号 「画漫画的程序员」,公众号后台回复「资源」 免费领取我精心整理的前端进阶资源教程

JS中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。欢迎热爱技术的你一起加入交流与学习,JS中文网的使命是帮助开发者用代码改变世界

本文著作权归作者所有,如若转载,请注明出处

转载请注明:文章转载自「 Js中文网 · 前端进阶资源教程 」https://www.javascriptc.com

标题:UniApp H5 浏览器下载图片 兼容iOS、Android

链接:https://www.javascriptc.com/4345.html

« Htm – Hyperscript 源码
Elements of Web Dev»
Flutter 中文教程资源

相关推荐

QR code