js下载文件并修改文件名


Posted in Javascript onMay 08, 2017

用js下载文件,使用<a>标签,添加download属性即可。

var a = document.createElement("a");
a.href = "http://XXX.com/audioStream/8a9dbae9d0859e48fc1f590fcf6d4ccc.mp3";
a.download ="test.mp3";
a.click();

但是如果想给文件重新命名,貌似js无法实现。

因此考虑后台实现,用java代理请求,获取文件设置文件名,返回到前端。

public void downFiles(HttpServletResponse response,String url,String workInfoId,int type){
  try{
   String prefix = type == 1 ? "wav" : "txt";
   url = type == 1 ? url : (url + "?textInfoId="+workInfoId);
   HttpEntity entity = Request.Get(url).
     execute().returnResponse().getEntity();
   byte[] bys = EntityUtils.toByteArray(entity);
   //获取作品名称
   Works works = this.worksDao.findByWorkId(workInfoId);
   String name = (works!=null && StringUtils.isNotBlank(works.getName())) ? works.getName() : Long.toString(new Date().getTime());
   response.setHeader("Content-Disposition", "attachment; filename="+ new String(name.getBytes("utf-8"), "ISO-8859-1")+"."+prefix);
   OutputStream out = response.getOutputStream();
   out.write(bys);
   out.close();
  }catch (Exception e){
   e.printStackTrace();
  }

 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
面向对象的编程思想在javascript中的运用上部
Nov 20 Javascript
用JS判断IE版本的代码 超管用!
Aug 09 Javascript
jQuery隐藏和显示效果实现
Apr 06 Javascript
Jquery Easyui日历组件Calender使用详解(23)
Dec 18 Javascript
javascript监听页面刷新和页面关闭事件方法详解
Jan 09 Javascript
微信小程序 页面跳转如何实现传值
Apr 05 Javascript
详解webpack分离css单独打包
Jun 21 Javascript
vue+egg+jwt实现登录验证的示例代码
May 18 Javascript
Node 搭建一个静态资源服务器的实现
May 20 Javascript
基于jQuery实现可编辑的表格
Dec 11 jQuery
javascript设计模式 ? 工厂模式原理与应用实例分析
Apr 09 Javascript
js实现简单的随机点名器
Sep 17 Javascript
JS将unicode码转中文方法
May 08 #Javascript
js实现点击切换checkbox背景图片的简单实例
May 08 #Javascript
完美解决浏览器跨域的几种方法(汇总)
May 08 #Javascript
jQuery中hover方法搭配css的hover选择器,实现选中元素突出显示方法
May 08 #jQuery
Angular.JS内置服务$http对数据库的增删改使用教程
May 07 #Javascript
angular2中router路由跳转navigate的使用与刷新页面问题详解
May 07 #Javascript
Angular2中select用法之设置默认值与事件详解
May 07 #Javascript
You might like
php 验证码实例代码
2010/06/01 PHP
PHP使用new StdClass()创建空对象的方法分析
2017/06/06 PHP
extjs 学习笔记(三) 最基本的grid
2009/10/15 Javascript
JavaScript 申明函数的三种方法 每个函数就是一个对象(一)
2009/12/04 Javascript
基于jQuery实现表格数据的动态添加与统计的代码
2011/01/31 Javascript
JQuery中的$.getJSON 使用说明
2011/03/10 Javascript
JavaScript中将一个值转换为字符串的方法分析[译]
2012/09/21 Javascript
javascript 正则表达式相关应介绍
2012/11/27 Javascript
JavaScript获取当前页面上的指定对象示例代码
2014/02/28 Javascript
关于JS数组追加数组采用push.apply的问题
2014/06/09 Javascript
js光标定位文本框回车表单提交问题的解决方法
2015/05/11 Javascript
JavaScript中的Function函数
2015/08/27 Javascript
javascript实现标签切换代码示例
2016/05/22 Javascript
JS使用onerror捕获异常示例
2016/08/03 Javascript
vue 实现剪裁图片并上传服务器功能
2018/03/01 Javascript
nodejs取得当前执行路径的方法
2018/05/13 NodeJs
bootstrap 路径导航 分页 进度条的实例代码
2018/08/06 Javascript
vue-router的两种模式的区别
2019/05/30 Javascript
Python实现简单状态框架的方法
2015/03/19 Python
用Python解析XML的几种常见方法的介绍
2015/04/09 Python
图文详解WinPE下安装Python
2016/05/17 Python
python 读写、创建 文件的方法(必看)
2016/09/12 Python
Pyspider中给爬虫伪造随机请求头的实例
2018/05/07 Python
基于python神经卷积网络的人脸识别
2018/05/24 Python
python 根据网易云歌曲的ID 直接下载歌曲的实例
2019/08/24 Python
python TK库简单应用(实时显示子进程输出)
2019/10/29 Python
python zip,lambda,map函数代码实例
2020/04/04 Python
python操作yaml说明
2020/04/08 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
2020/05/13 Python
python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现)
2020/12/10 Python
简单的辞职信范文
2014/01/18 职场文书
教师试用期自我鉴定
2014/02/12 职场文书
六一儿童节标语
2014/10/08 职场文书
2014年班干部工作总结
2014/11/25 职场文书
神农溪导游词
2015/02/11 职场文书
行政前台岗位职责
2015/04/16 职场文书