位置: 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)(在白雪覆盖的地方 什么歌)

  • 微信运营:朋友圈营销文案技巧(微信号朋友圈运营)

    微信运营:朋友圈营销文案技巧(微信号朋友圈运营)

  • win10定时开关机在哪里设置(win10定时开关机软件)

    win10定时开关机在哪里设置(win10定时开关机软件)

  • 苹果13爱心模式怎么设置(苹果13爱心模式打开没反应怎么回事)

    苹果13爱心模式怎么设置(苹果13爱心模式打开没反应怎么回事)

  • 英特尔14nm用了多少年(英特尔14nm芯片是什么年代)

    英特尔14nm用了多少年(英特尔14nm芯片是什么年代)

  • 华为荣耀20s有升降摄像头吗(华为荣耀20s有升级内存吗)

    华为荣耀20s有升降摄像头吗(华为荣耀20s有升级内存吗)

  • 安卓youtube打开闪退(安卓手机打开youtube)

    安卓youtube打开闪退(安卓手机打开youtube)

  • 加入用户体验计划要不要开(加入用户体验计划可以关闭吗)

    加入用户体验计划要不要开(加入用户体验计划可以关闭吗)

  • 不知道手环品牌怎么查连(不知道手环品牌怎么连接)

    不知道手环品牌怎么查连(不知道手环品牌怎么连接)

  • iqoo是vivo子公司吗(iqoo属于哪个公司)

    iqoo是vivo子公司吗(iqoo属于哪个公司)

  • airpods双击能接微信电话吗(airpods双击要很用力吗)

    airpods双击能接微信电话吗(airpods双击要很用力吗)

  • 互联网诞生在哪一年(互联网的产生是哪一年)

    互联网诞生在哪一年(互联网的产生是哪一年)

  • 三星手机安装微信提示应用未安装(三星手机安装微信不兼容)

    三星手机安装微信提示应用未安装(三星手机安装微信不兼容)

  • 抖音视频为什么不能下载(抖音视频为什么声音不可用)

    抖音视频为什么不能下载(抖音视频为什么声音不可用)

  • 群发微信怎么清理好友(群发微信怎么清除记录)

    群发微信怎么清理好友(群发微信怎么清除记录)

  • 荣耀8怎么查询电池寿命(荣耀8怎么查询注册时间记录)

    荣耀8怎么查询电池寿命(荣耀8怎么查询注册时间记录)

  • 华为ipad可以插u盘吗(华为平板支持外接u盘吗)

    华为ipad可以插u盘吗(华为平板支持外接u盘吗)

  • 通常所说的计算机的主机是(通常所说的计算机主机主要由诺依曼结构)

    通常所说的计算机的主机是(通常所说的计算机主机主要由诺依曼结构)

  • 小米手机的永恒模式是什么(小米手机的永恒模式有什么用)

    小米手机的永恒模式是什么(小米手机的永恒模式有什么用)

  • 芯片的作用是什么(芯片的主要作用)

    芯片的作用是什么(芯片的主要作用)

  • 开发app需要什么技术支持(开发APP需要什么资源)

    开发app需要什么技术支持(开发APP需要什么资源)

  • 苹果11扬声器有几个(苹果11扬声器有风吹出来)

    苹果11扬声器有几个(苹果11扬声器有风吹出来)

  • 微光怎么看自己的视频(微光怎么看自己的微光号)

    微光怎么看自己的视频(微光怎么看自己的微光号)

  • 135编辑器怎么保存呢(135编辑器怎么保存个人模板)

    135编辑器怎么保存呢(135编辑器怎么保存个人模板)

  • wpf和winform的区别(wpf和webform的区别)

    wpf和winform的区别(wpf和webform的区别)

  • 荣耀20多少寸(荣耀80pro直屏版上市时间)

    荣耀20多少寸(荣耀80pro直屏版上市时间)

  • 怎么更改iphone地区(iphone怎么更改地理位置)

    怎么更改iphone地区(iphone怎么更改地理位置)

  • 电脑锁机怎么解锁(电脑锁机怎么解决win10)

    电脑锁机怎么解锁(电脑锁机怎么解决win10)

  • 迅雷智能路由器怎么赚钱 迅雷路由器赚钱原理知识介绍(dir852迅雷路由器)

    迅雷智能路由器怎么赚钱 迅雷路由器赚钱原理知识介绍(dir852迅雷路由器)

  • 如何升级PHPCMS?(如何升级智慧中小学app)

    如何升级PHPCMS?(如何升级智慧中小学app)

  • 购买财务软件费用入什么科目
  • 交通事故的支出是否可以个税税前扣除
  • 工业企业提供劳务收入属于什么收入
  • 企业留存的盈余公积属于哪个会计科目
  • 小微企业应纳税所得额超过300万怎么办
  • 出库单上面的单位写谁的
  • 已开发票查询不到怎么回事
  • 个人独资企业没有申报税的后果
  • 商品房空置费
  • 商业企业销售的产品
  • 销售农业产品的税率
  • 人防工程被出售,谁承担责任
  • 预提费用下月要冲回吗
  • 税后利润补亏的会计分录怎么做
  • 亏损企业研发费加计扣除可以递延吗
  • 转账支票怎么进账到个人账户
  • 补充养老保险交200和500差别
  • 企业将自产产品发放给职工作为福利
  • 甲公司采用租赁方式租入一台大型设备
  • 搅拌站需要什么土地
  • 小规模纳税人注销需要查账吗
  • 计提的电费和支付电费差额如何调整
  • 税控盘服务费抵减有效期几年
  • 公司为员工承担房租
  • 核定征收的企业可以享受税收优惠吗
  • 公司运输车辆加油会计分录
  • 公司银行贷款能贷多少
  • 销售送礼品
  • 新成立公司工会经费什么时候交
  • 民间非营利组织会计账务处理
  • 业务招待费税前扣除标准按照发生额的60%扣除
  • 什么是两免一补的条件
  • 外汇差额核销条件
  • vue .find
  • python 微信
  • 实际库存小于账面库存
  • 其他应收款的核算范围包括
  • 残疾人个人所得税减免怎么填写申报
  • c语言的共用体
  • 帝国cms修改提示怎么设置
  • mongodb unwind
  • 转让股权个税的计税基础
  • 公司签发银行承兑汇票的行为属于什么行为
  • 销售退回怎么写分录
  • 增值税处罚条例
  • 宾馆手撕发票图片
  • 研发支出主要包括
  • 委托加工物资的加工费计入什么科目
  • 生活垃圾处理费标准
  • 负数发票怎么开具?
  • 支付工程款如何入账科目
  • 固定资产建账为什么不能直接输入名字
  • 行政事业单位基本户核算内容
  • mysql重置binlog
  • sql中索引怎么使用
  • freebsd操作命令
  • 注册表干嘛用
  • ubuntu装完后重启找不到操作系统
  • keyworker什么意思
  • gnuradio编写模块
  • mac怎么快速上手
  • win8metro版桌面安卓下载
  • win7安装补丁慢的原因
  • win8远程桌面连接设置
  • unity中
  • node执行js文件的命令是什么
  • node管理工具
  • 日常办公常用的批处理脚本
  • codeblocks使用技巧
  • jsoncpp rapidjson
  • css怎么画图
  • python编程
  • jQuery Checkbox 全选 反选的简单实例
  • 接口回调java
  • 网页弹窗不见了
  • node.js的理解
  • node.js+captchapng+jsonwebtoken实现登录验证示例
  • python 批量查询
  • 深圳市税务局官网电话号码
  • 小规模纳税人企业所得税2023税率
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设