位置: IT常识 - 正文

vue中,给一个URL地址,利用FileSaver.js插件下载文件到本地(vue url 参数)

编辑:rootadmin
vue中,给一个URL地址,利用FileSaver.js插件下载文件到本地

推荐整理分享vue中,给一个URL地址,利用FileSaver.js插件下载文件到本地(vue url 参数),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue url 参数,vue url传值,vue地址栏传入参数url,vue url,vue中url存在的两种方式,vue中url存在的两种方式,vue url,vue在url里添加参数,内容如对您有帮助,希望把文章链接给更多的朋友!

①首先下载 FileSaver.js 插件   

npm install file-saver --save

②在需要的.vue页面引入

import { saveAs } from 'file-saver'

 在HTML中引入

<script src="https://cdn.bootcdn.net/ajax/libs/FileSaver.js/2.0.5/FileSaver.min.js"></script> //FileSaver.js只有一个函数就是saveAs,它有三个参数, //第一个是:Blob、File、Url 可以是二进制流、文件、URL的地址。 //第二个是:文件的名字 //第三个是:可选的object对象。 // 示例 saveAs(参数一,参数二, 参数三)

③ 如果想保存一个TXT文档本地

save(){ let blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"}); saveAs(blob, "hello world.txt");}// "Hello, world!" 是文件的内容// "hello world.txt" 是文件的名字

结果:

 

内容:

 ④ 如果想保存一个图片

save(){ saveAs('https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg', "image.jpg")}// 注意:通过URL保存图片时,存在阿里云服务端的图片必须设置为允许跨域,// 因为在通过saveAs函数下载时,会请求一次这个地址,如果没设置,则会出现跨域问题。

结果:

 图片内容:

vue中,给一个URL地址,利用FileSaver.js插件下载文件到本地(vue url 参数)

 如果图片不允许跨域则会出现这种情况:

⑤下面这个方法则可以完美的解决跨域问题,不光可以下载图片还可以下载PDF文件等其他文件。

download() { axios.post("/mth-finance-capital-service/api/common/download/file", {data:this.fileUrl}, { headers: {"Content-Type": 'application/octet-stream'}, transformRequest: [function (data, headers) { return data['data'] }], responseType: 'blob' }).then(response => { // const contentType = response.headers['content-type'] // const blob = new Blob([response.data], {type: contentType}) // 这地方是前端进行的 blob转换,接口里面后端做了之后,我们就不需要再做了。 saveAs(response.data, this.fileUrlName) // saveAs(blob, this.fileUrlName) 要是前端转换的话就用这个 }).catch(error => { console.log("----",error) // 处理错误 }) },// 1. 直接发送axios请求,第一个是请求地址。// 2. 第二个是图片或者其他文件的URL链接;这地方必须要用{}包起来,data是形参最好也加上。// 3. headers: {"Content-Type": 'application/octet-stream'},请求头// 4. transformRequest: [function (data, headers) { return data['data'] }],// 表示允许在向服务器发送前,修改请求数据,data就是上面的形参。// 5. responseType: 'blob' 后端返回的图片是二进制流的形式,所以要加这个。// 6. this.fileUrlName 是文件的名字

⑥ 调接口的原因是,让后端把要下载的图片URL或者其他文件的URL,做一下转换,转成blob类型的。

这个是响应成功后,.then里面response的信息。

 最后调用,saveAs(response.data, this.fileUrlName)下载即可。

⑦ 结果:   // 文件名是第二个参数,我随便起的

 返回这样结果不要在意,到文件里打开图片就好了

打开之后的图片

 

⑧要是出现图片破损的情况:

 请检查发请求时 是否携带了 responseType: 'blob' ,要下载的图片链接是否用{}包起来了,回到步骤⑤看看。

本文链接地址:https://www.jiuchutong.com/zhishi/288119.html 转载请保留说明!

上一篇:超分算法之SRCNN(超分模型)

下一篇:在白雪覆盖的高地上奔跑的雪兔,苏格兰 (© SCOTLAND: The Big Picture/Minden Pictures)(在白雪覆盖的地方 什么歌)

  • 合伙企业的税收优势
  • 为员工代缴社保材料
  • 对账结算流程
  • 减免的城建税怎么计算
  • 固定资产报废清理净损失属于什么费用
  • 离退休再任职人员的收入是否缴纳个人所得税?
  • 填制凭证的内容通常包括
  • 对方多开发票怎么处理
  • 公户转私户的钱几天能到账
  • 股权转让收入需要缴纳什么税
  • 停车服务费的税率
  • 报税遇节假日延长吗?
  • 股权转让未分配利润如何账务处理
  • 卫生防疫站调拨是什么意思
  • 资本公积弥补亏损规定
  • 无偿转让股权需要交什么税
  • 取得劳务费的账务处理
  • 苹果手机上显示LTE是什么意思
  • boot mac os from
  • 农业企业出租厂房需要交税吗
  • 深度deepin系统安装教程
  • php array_search() 函数使用
  • 预收房租需要缴纳个税么
  • kb4586853更新
  • mplugin.exe是什么
  • 发票抵税是怎么申报的
  • vue报错cannot read property
  • php图文教程
  • vuex iframe
  • 既简单又安全的小实验
  • 应收账款的账期是什么意思
  • 补付转账支票会退回吗
  • rc远程桌面
  • vgremove命令
  • firewall enable
  • 社保可以不计提直接缴纳吗
  • 个人接受现金捐赠的情况
  • 红字发票是不是就是红冲了
  • 虚开增值税发票不是也要缴税吗
  • 织梦cms怎么样
  • 企业贷款贴息怎么做账
  • 如何查询发票领购日期
  • 坏账的计算公式
  • 中国移动发票抬头开错了可以重开吗
  • 预付账款和应付账款怎么合并
  • 应交税费的核算范围
  • 预收账款的核算处理
  • 工商年报中纳税总额怎么填
  • 营业外收支的内容
  • 进口卷烟消费税定额税率
  • 装修费应该按几折算
  • 暂估入库一直未取得发票需要调账吗
  • 公司向个人借款合法吗
  • 租赁费计提印花税税率
  • 部门财务独立核算原则有哪些
  • 本年利润怎么结账
  • 坏账准备是什么类科目
  • 没有期初数据会怎么样
  • 数据库表的查询操作实验
  • win预览版计划
  • ubuntu无法进入系统出现uid121
  • mac怎么设置默认打开方式
  • ubuntu怎么建立文件
  • win7如何开启飞行模式
  • linux系统怎么更改语言
  • win8 蓝牙
  • margin负值
  • 安卓匿名电话软件
  • unity 3d场景2d角色
  • Python安装包
  • bootstrap与Jquery UI 按钮样式冲突的解决办法
  • python发邮件代码
  • jquery插件库免费
  • 理解的英文
  • javascript教程 csdn
  • python高级写法
  • 沈阳税务局兑奖中心在哪
  • 长春税务局待遇如何
  • 棚户区改造的房子和商品房有什么区别
  • 平顶山属于河南还是河北
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设