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中强制组件重新渲染的正确方法
Jan 03 Vue.js
如何使用RoughViz可视化Vue.js中的草绘图表
Jan 30 Vue.js
Vue SPA 首屏优化方案
Feb 26 Vue.js
vue 使用饿了么UI仿写teambition的筛选功能
Mar 01 Vue.js
vue中data改变后让视图同步更新的方法
Mar 29 Vue.js
详解vue中v-for的key唯一性
May 15 Vue.js
Vue CLI中模式与环境变量的深入详解
May 30 Vue.js
vue-cil之axios的二次封装与proxy反向代理使用说明
Apr 07 Vue.js
vue项目proxyTable配置和部署服务器
Apr 14 Vue.js
vue postcss-px2rem 自适应布局
May 15 Vue.js
vue中data里面的数据相互使用方式
Jun 05 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 中执行系统外部命令
2006/10/09 PHP
php获取$_POST同名参数数组的实现介绍
2013/06/30 PHP
php最简单的删除目录与文件实现方法
2014/11/28 PHP
PHP检测用户是否关闭浏览器的方法
2016/02/14 PHP
PHP处理二进制数据的实现方法
2016/06/13 PHP
php+redis实现多台服务器内网存储session并读取示例
2017/01/12 PHP
PHP实现对xml的增删改查操作案例分析
2017/05/19 PHP
解决jquery异步按一定的时间间隔刷新问题
2012/12/10 Javascript
js如何实现设计模式中的模板方法
2013/07/23 Javascript
jQuery中:checkbox选择器用法实例
2015/01/03 Javascript
JavaScript中调用函数的4种方式代码实例
2015/07/08 Javascript
jQuery模拟原生态App上拉刷新下拉加载更多页面及原理
2015/08/10 Javascript
js实现带圆角的多级下拉菜单效果
2015/08/28 Javascript
Angular.js 实现数字转换汉字实例代码
2016/07/14 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
2016/11/20 Javascript
echart简介_动力节点Java学院整理
2017/08/11 Javascript
详解vue 实例方法和数据
2017/10/23 Javascript
利用nvm管理多个版本的node.js与npm详解
2017/11/02 Javascript
VUE2.0+Element-UI+Echarts封装的组件实例
2018/03/02 Javascript
使用vue脚手架(vue-cli)搭建一个项目详解
2019/05/09 Javascript
layui use 定义js外部引用函数的方法
2019/09/26 Javascript
在Python中使用第三方模块的教程
2015/04/27 Python
在Django中进行用户注册和邮箱验证的方法
2016/05/09 Python
python 筛选数据集中列中value长度大于20的数据集方法
2018/06/14 Python
在Python中输入一个以空格为间隔的数组方法
2018/11/13 Python
利用python脚本如何简化jar操作命令
2019/02/24 Python
python logging.info在终端没输出的解决
2020/05/12 Python
Python 使用SFTP和FTP实现对服务器的文件下载功能
2020/12/17 Python
html5默认气泡修改的代码详解
2020/03/13 HTML / CSS
美国50岁以上单身人士约会平台:SilverSingles
2018/06/29 全球购物
什么样的创业计划书可行性高?
2014/02/01 职场文书
社区网格化管理实施方案
2014/03/21 职场文书
四风个人对照检查材料思想汇报
2014/09/25 职场文书
2015年统战工作总结
2015/05/19 职场文书
未婚证明范本
2015/06/15 职场文书
世界十大动漫制作公司排行榜,迪士尼上榜,第二是美国代表性文化符
2022/03/18 欧美动漫