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 相关文章推荐
Vue3+elementui plus创建项目的方法
Dec 01 Vue.js
vue中使用echarts的示例
Jan 03 Vue.js
如何在vue 中使用柱状图 并自修改配置
Jan 21 Vue.js
Vue基本指令实例图文讲解
Feb 25 Vue.js
vue-cropper组件实现图片切割上传
May 27 Vue.js
vue实现移动端div拖动效果
Mar 03 Vue.js
Vue如何清空对象
Mar 03 Vue.js
vue中的可拖拽宽度div的实现示例
Apr 08 Vue.js
vue里使用create, mounted调用方法
Apr 26 Vue.js
vue css 相对路径导入问题级踩坑记录
Jun 05 Vue.js
Vue router配置与使用分析讲解
Dec 24 Vue.js
Vue Element plus使用方法梳理
Dec 24 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
php面向对象全攻略 (一) 面向对象基础知识
2009/09/30 PHP
使用URL传输SESSION信息
2015/07/14 PHP
php语言的7种基本的排序方法
2020/12/28 PHP
微信支付开发发货通知实例
2016/07/12 PHP
PHP中set_include_path()函数相关用法分析
2016/07/18 PHP
PJBlog插件 防刷新的在线播放器
2006/10/25 Javascript
jquery 简单的进度条实现代码
2010/03/11 Javascript
深入了解javascript中的prototype与继承
2013/04/14 Javascript
jquery制作居中遮罩层效果分享
2014/02/21 Javascript
Jquery $.getJSON 在IE下的缓存问题解决方法
2014/10/10 Javascript
JavaScript中提前声明变量或函数例子
2014/11/12 Javascript
jQuery实现径向动画菜单效果
2015/07/17 Javascript
详解JavaScript ES6中的Generator
2015/07/28 Javascript
JavaScript通过filereader接口读取文件
2017/05/10 Javascript
详解刷新页面vuex数据不消失和不跳转页面的解决
2018/01/30 Javascript
Vue props 单向数据流的实现
2018/11/06 Javascript
微信小程序网络请求实现过程解析
2019/11/06 Javascript
JavaScript复制变量三种方法实例详解
2020/01/09 Javascript
nodejs中的异步编程知识点详解
2021/01/17 NodeJs
详解Vue3.0 + TypeScript + Vite初体验
2021/02/22 Vue.js
[53:50]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
python 获取文件列表(或是目录例表)
2009/03/25 Python
3分钟学会一个Python小技巧
2018/11/23 Python
Python匿名函数及应用示例
2019/04/09 Python
pandas如何处理缺失值
2019/07/31 Python
python解析yaml文件过程详解
2019/08/30 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
Feelunique美国:欧洲大型的在线美妆零售电商
2018/11/04 全球购物
美国最佳在线航班预订网站:LookupFare
2019/03/26 全球购物
工厂门卫的岗位职责
2014/07/27 职场文书
教师工作失职检讨书
2014/09/18 职场文书
报表员工作失误检讨书范文
2014/09/19 职场文书
社区党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
2014保险公司个人工作总结
2014/12/09 职场文书
盗窃罪辩护词范文
2015/05/21 职场文书
采购员工作总结范文
2015/08/12 职场文书