Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法


Posted in Vue.js onDecember 25, 2020

我测试过很多遍,想要通过a标签的形式来直接点击url下载文件并重命名但是都失败了,最终只能下载却不能重命名 所以 换了java后台来修改名字.以下代码

Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法

我做的网页是点击文件直接下载

Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法

直接下载下来了,一开始的文件名是上传到oss时以id命名的名字,现在下载的时候想改名,遇到了问题,所以写了这篇博客

首先是后台代码

Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法

/**
  * 附件下载
  * <p>
  *
  * @param param
  * @return ResponseDTO
  */
 @PostMapping(value = "/download")
 public void downloadFile(@RequestParam Map<String, Object> param, HttpServletResponse response) throws Exception {
  String url1 = param.get("url").toString();
  URL url = new URL(url1);
  URLConnection conn = url.openConnection();
  InputStream inputStream = conn.getInputStream();
  response.reset();
  response.setContentType(conn.getContentType());
   //纯下载方式 文件名应该编码成UTF-8
  response.setHeader("Content-Disposition",
    "attachment; filename=" + URLEncoder.encode(param.get("name").toString(), "UTF-8"));
  byte[] buffer = new byte[1024];
  int len;
  OutputStream outputStream = response.getOutputStream();
  while ((len = inputStream.read(buffer)) > 0) {
   outputStream.write(buffer, 0, len);
  }
  inputStream.close();
 }

代码里面的 url 需要事先 去阿里云获取,我因为前端上传的时候 获取到了url就直接传到后台用了.

前端vue代码

Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法

//下载和预览
  handlePreview(file) {
  if (file.type == 'png' || file.type == 'jpg') {
   this.imageUrl = file.url;
   this.imageDetail = true;
  } else {
   var form = document.createElement("form");
   document.body.appendChild(form);
   form.method = "post";
   form.appendChild(this.generateHideElement('url',file.url));
   form.appendChild(this.generateHideElement('name',file.name));
   form.action = "接口地址"// 路由地址+接口地址
   form.submit();
  }
  },
  generateHideElement(name, value) {
  var tempInput = document.createElement("input");
  tempInput.type = "hidden";
  tempInput.name = name;
  tempInput.value = value;
  return tempInput;
  },

好了这就完了,很简单的一段代码, 我也是刚学vue欢迎大佬指点

到此这篇关于Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法的文章就介绍到这了,更多相关vue 阿里云oss下载文件内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Vue.js 相关文章推荐
vue打开其他项目页面并传入数据详解
Nov 25 Vue.js
Vue+element-ui添加自定义右键菜单的方法示例
Dec 08 Vue.js
vue实现滚动鼠标滚轮切换页面
Dec 13 Vue.js
vue使用element-ui实现表单验证
Dec 13 Vue.js
Vue 简单实现前端权限控制的示例
Dec 25 Vue.js
vue 动态创建组件的两种方法
Dec 31 Vue.js
Vue ​v-model相关知识总结
Jan 28 Vue.js
vue 项目@change多个参数传值多个事件的操作
Jan 29 Vue.js
vue实现可拖拽的dialog弹框
May 13 Vue.js
HTML+VUE分页实现炫酷物联网大屏功能
May 27 Vue.js
vue选项卡切换的实现案例
Apr 11 Vue.js
vue-cli3.x配置全局的scss的时候报错问题及解决
Apr 30 Vue.js
vue使用require.context实现动态注册路由
Dec 25 #Vue.js
vue 使用rules对表单字段进行校验的步骤
Dec 25 #Vue.js
vue 实现基础组件的自动化全局注册
Dec 25 #Vue.js
vue 使用class创建和清除水印的示例代码
Dec 25 #Vue.js
基于vue+echarts数据可视化大屏展示的实现
Dec 25 #Vue.js
vue3使用vue-count-to组件的实现
Dec 25 #Vue.js
vue+openlayers绘制省市边界线
Dec 24 #Vue.js
You might like
微信公众号开发之微信公共平台消息回复类实例
2014/11/14 PHP
PHP全功能无变形图片裁剪操作类与用法示例
2017/01/10 PHP
JavaScript格式化数字的函数代码
2010/11/30 Javascript
jQuery侧边栏随窗口滚动实现方法
2013/03/04 Javascript
jquery实现checkbox全选全不选的简单实例
2013/12/31 Javascript
关于cookie的初识和运用(js和jq)
2016/04/07 Javascript
JavaScript中undefined和null的区别
2017/05/03 Javascript
关于JS与jQuery中的文档加载问题
2017/08/22 jQuery
JS中获取 DOM 元素的绝对位置实例详解
2018/04/23 Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
2019/03/15 Javascript
浅谈webpack和webpack-cli模块源码分析
2020/01/19 Javascript
详解vue中在循环中使用@mouseenter 和 @mouseleave事件闪烁问题解决方法
2020/04/07 Javascript
Openlayers测量距离与面积的实现方法
2020/09/25 Javascript
[03:52]DOTA2英雄基础教程 酒仙
2013/12/23 DOTA
Python使用openpyxl读写excel文件的方法
2017/06/30 Python
python中os和sys模块的区别与常用方法总结
2017/11/14 Python
python3中的eval和exec的区别与联系
2019/10/10 Python
Python callable内置函数原理解析
2020/03/05 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
通过Python扫描代码关键字并进行预警的实现方法
2020/05/24 Python
艺龙旅行网酒店预订:国内、港澳台酒店
2018/06/26 全球购物
Troy-Bilt官网:草坪割草机、吹雪机、分蘖机等
2019/02/19 全球购物
德国亚洲食品网上商店:asiafoodland.de
2019/12/28 全球购物
编码实现字符串转整型的函数
2012/06/02 面试题
品恩科技软件测试面试题
2014/10/26 面试题
外贸采购员求职的自我评价
2013/11/26 职场文书
护士的岗位职责
2013/12/04 职场文书
编辑找工作求职信范文
2013/12/16 职场文书
母亲节感恩寄语
2014/02/21 职场文书
加入学生会演讲稿
2014/04/24 职场文书
银行授权委托书格式
2014/10/10 职场文书
飞越疯人院观后感
2015/06/09 职场文书
解决golang在import自己的包报错的问题
2021/04/29 Golang
处理canvas绘制图片模糊问题
2022/05/11 Javascript
PHP 时间处理类Carbon
2022/05/20 PHP
Windows Server 版本 20H2 于 8 月 9 日停止支持,Win10 版本 21H1 将于 12 月结束支
2022/07/23 数码科技