当前位置: 首页 > news >正文

vue下载文件

注意
请求时加入:responseType: 'blob'
url:写全了,因为前后端端口号不同
    downloadImage(imgUrl) {let formData = new FormData();formData.append('fileName', this.getFilename(imgUrl)); // 用于后端下载文件的路径axios.post('http://localhost:8080/competition/award/downloadFile', formData, {responseType: 'blob'}).then(response => {if (response.status == 200) {console.log(response)let url = window.URL.createObjectURL(new Blob([response.data])) // 将获取的文件转化为blob格式let a = document.createElement('a'); // 此处向下是打开一个储存位置a.style.display = 'none';a.href = url;// 下面两行是自己项目需要的处理,总之就是得到下载的文件名(加后缀)即可var fileName = this.getFilename(imgUrl);a.setAttribute('download', fileName+ '.jpg');document.body.appendChild(a);a.click();//点击下载document.body.removeChild(a);// 下载完成移除元素window.URL.revokeObjectURL(url);// 释放掉blob对象this.$message.success("文件下载成功") //删除弹窗} else {this.$message.error("文件下载失败")}})},getFilename(url) {// 从图片链接中提取文件名return url.substring(url.lastIndexOf('/')+1);},

注:此代码借鉴了其他博客
后端用的MinIO:

    @RequestMapping("/downloadFile")public ResponseEntity<byte[]> download(String fileName) throws Exception {return  minioUtils.download(fileName, FileConfig.awardImg);}
http://www.lryc.cn/news/56393.html

相关文章:

  • 人人都是数据分析师-数据分析之数据图表可视化(下)
  • 考勤、充电,绑身份,你的人员定位系统就缺它了!
  • RocketMQ水平扩展及负载均衡详解
  • java接口笔记
  • 安利安利-向大家推荐一个超级牛的etcd管理工具-EtcdKeeperFyne
  • 数字经济系列讲座-数字化平台(商业购物平台)
  • python3中collections模块详解
  • 护网面试题2.0
  • 学习计算机组成原理第1天(计算机发展历程)
  • 二维字符数组与char** 关系 段错误打印
  • 从url输入到页面呈现发生了什么
  • vue之--使用TypeScript
  • HDFD 回收站【Trash】机制
  • 【Redis】简介
  • 【Go进阶】Goroutine 实现原理
  • TypeScript学习笔记之二(高级类型)
  • 如何远程控制电脑?您只需要这样做
  • 【51单片机】:LED任务及汇编解释任务
  • 从生活习惯到肠道微生物,揭秘胃肠道癌症的成因
  • 八十行代码实现开源的 Midjourney、Stable Diffusion “咒语”作图工具
  • Redis为什么这么快
  • JayDeBeApi对数据类型的支持
  • 一文盘点 Zebec 生态几大利好,让 ZBC 近期“狂飙”
  • 【数据结构】栈和队列(笔记总结)
  • 【Java】自定义注解和AOP切面的使用
  • 前后台协议联调拦截器
  • 【还在传统绑骨骼动画?】让AI助力你实现2D游戏角色动画流程
  • 动态规划+例题
  • 快商通荣获多个政府科技、人才奖项
  • Linux的基本命令的使用