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

  • 华为matebook14s是什么系统

    华为matebook14s是什么系统

  • 电脑外置摄像头模糊怎么办(台式电脑外置摄像头)

    电脑外置摄像头模糊怎么办(台式电脑外置摄像头)

  • matebook14有几个接口(matebook14有几个版本)

    matebook14有几个接口(matebook14有几个版本)

  • surface如何切换摄像头(surface如何切换到桌面模式)

    surface如何切换摄像头(surface如何切换到桌面模式)

  • 红米手机网易云音乐安装失败(红米手机网易云闪退)

    红米手机网易云音乐安装失败(红米手机网易云闪退)

  • 苹果手机圆按键失灵(苹果手机圆按键按是什么型号)

    苹果手机圆按键失灵(苹果手机圆按键按是什么型号)

  • 拼多多怎么添加好友(拼多多怎么添加陌生人的好友)

    拼多多怎么添加好友(拼多多怎么添加陌生人的好友)

  • 电脑和笔记本电脑的区别(电脑和笔记本电脑哪个便宜)

    电脑和笔记本电脑的区别(电脑和笔记本电脑哪个便宜)

  • 朋友圈动态设置了部分人可看怎么取消(朋友圈动态设置时间)

    朋友圈动态设置了部分人可看怎么取消(朋友圈动态设置时间)

  • 宽带没欠费为什么连接不上网络(宽带没欠费为什么网络变得很差)

    宽带没欠费为什么连接不上网络(宽带没欠费为什么网络变得很差)

  • 路由器设置完了为什么不能上网(路由器设置完了无法连接网络)

    路由器设置完了为什么不能上网(路由器设置完了无法连接网络)

  • 群解散了有提示吗(群解散了会显示你被移出群聊吗)

    群解散了有提示吗(群解散了会显示你被移出群聊吗)

  • mg492ch a是什么版本(mg492kh/a是什么版本)

    mg492ch a是什么版本(mg492kh/a是什么版本)

  • word表格怎么加一列(word表格怎么加表格线)

    word表格怎么加一列(word表格怎么加表格线)

  • 淘宝的消息怎么一次性删除(淘宝的消息怎么批量删除)

    淘宝的消息怎么一次性删除(淘宝的消息怎么批量删除)

  • 荣耀20什么时候可以升级10.0(荣耀20什么时候停产的)

    荣耀20什么时候可以升级10.0(荣耀20什么时候停产的)

  • iphone11pro怎么朗读屏幕(苹果11pro怎么念)

    iphone11pro怎么朗读屏幕(苹果11pro怎么念)

  • vue可以添加多张照片(vue怎么实现多页面)

    vue可以添加多张照片(vue怎么实现多页面)

  • 为什么打开手机就是新闻头条(为什么打开手机就是广告,怎么关闭)

    为什么打开手机就是新闻头条(为什么打开手机就是广告,怎么关闭)

  • OPPO手机如何关闭位置信息(oppo手机如何关闭安全守护)

    OPPO手机如何关闭位置信息(oppo手机如何关闭安全守护)

  • 华为btv-w09是什么型号(huawei btv-dl09)

    华为btv-w09是什么型号(huawei btv-dl09)

  • 小米路由器4c怎么设置(小米路由器4c怎么插网线)

    小米路由器4c怎么设置(小米路由器4c怎么插网线)

  • 关于Chrome新建标签页被hao123劫持(chrome新建标签为打开特定网页)

    关于Chrome新建标签页被hao123劫持(chrome新建标签为打开特定网页)

  • 鸟瞰桑吉奈尔群岛,法国科西嘉 (© sam74100/Getty Images Plus)(桑吉尔夫个人简介)

    鸟瞰桑吉奈尔群岛,法国科西嘉 (© sam74100/Getty Images Plus)(桑吉尔夫个人简介)

  • AI工具(ChatGPT)常用指令,持续更新...(什么是AI工具)

    AI工具(ChatGPT)常用指令,持续更新...(什么是AI工具)

  • 未结转本年利润影响报表吗
  • 房地产开发企业预缴增值税
  • 员工入股怎么分成
  • 从公账转账私人转账
  • 商品已发出未开票未收款怎么做账
  • 广告位租赁交印花税吗
  • 利润表要怎么看
  • 购物开了增值税怎么退
  • 企业购买救生棒合法吗
  • 滴滴顺风车发票图片大全
  • 发票章和税号不匹配
  • 资产原值包含残值吗
  • 企业合并以外
  • 托收承付结算的付款期均为三天
  • 出口退税系统中的出口货物已补税未退税证明怎么填
  • 如何恢复回收站永久删除的文件
  • 对公账户被诈骗转款728000会怎么样呢
  • win10显示我的电脑
  • windows搜索点不动
  • 为什么老是跳到别的网站
  • uniapp支付流程
  • php之间传递数据
  • 哪些货物可以享受减免税政策
  • 基础知识讲解
  • 林木业折旧年限
  • 前端axios是什么
  • 银行历年账单怎么查
  • php调用微信扫描二维码
  • 专家坐诊信息
  • hashmap教程
  • 税款返还 分录
  • 接受捐赠收入要交企业所得税吗
  • 预交的企业所得税如何记账
  • 租金算营业成本还是管理费用
  • chrome网上应用商店在哪
  • 低值易耗品还需要录入明细吗
  • 税务申报残保金
  • 所得税费用期末结转吗
  • 增值税直接计算法间接计算法举例
  • 收到货款未开票怎么入账
  • 注册资本与实收资本是否一致
  • 企业分期收款销售商品,即商品已经交付
  • 应付票据转应付账款分录
  • 企业所得税汇算清缴时间
  • 工程物资是
  • 预缴的所得税怎么申请退税
  • 收到退回的企业所得税会计分录
  • 航天信息全额抵扣分录
  • 如何填写社会保障卡信息
  • 电子商务会计怎么样
  • 购买苗木怎么做政府会计分录
  • 企业研发费用怎么证明
  • 资产减值后折旧怎么算
  • 注册资本和实收股本的区别
  • asp 分页
  • win10系统浏览器在哪
  • unix操作系统有何特点?
  • freebsd ports安装
  • ubuntu服务器安装matlab2014a环境配置
  • linux系统基于
  • win7系统添加打印机没有USB端口选项
  • win1020h2更新卡在1
  • win7怎么禁止网络连接
  • linux网络设备有哪些
  • linux小技巧
  • win7账户不见了
  • 模型图怎么画
  • perl mkdir
  • js堆栈和队列
  • 网页设计绿色
  • unity shaderlab新手宝典
  • angular.js
  • java scripts
  • Android开发工具
  • python3网络编程
  • 黑龙江电子税务局
  • 增值税税控开票软件升级
  • 银行与企业之间的信用
  • 个人绩效考核税务局
  • 购买税控盘怎么抵扣
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设