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 相关文章推荐
html文件中jquery与velocity变量中的$冲突的解决方法
Nov 01 Javascript
Jqgrid表格随窗口大小改变而改变的简单实例
Dec 28 Javascript
jQuery简单实现日历的方法
May 04 Javascript
JavaScript中String.prototype用法实例
May 20 Javascript
javascript实现根据3原色制作颜色选择器的方法
Jul 17 Javascript
基于jquery插件编写countdown计时器
Jun 12 Javascript
更靠谱的H5横竖屏检测方法(js代码)
Sep 13 Javascript
js中Number数字数值运算后值不对的解决方法
Feb 28 Javascript
详解AngularJS 路由 resolve用法
Apr 24 Javascript
在页面中引入js的两种方法(推荐)
Aug 29 Javascript
JavaScrip关于创建常量的知识点
Dec 07 Javascript
微信小程序上传文件到阿里OSS教程
May 20 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
星际原理概述
2020/03/04 星际争霸
PHP实现删除非站内外部链接实例代码
2014/06/17 PHP
php实现html标签闭合检测与修复方法
2015/07/09 PHP
php+mysql实现无限级分类
2015/11/11 PHP
PHP 读取大文件并显示的简单实例(推荐)
2016/08/12 PHP
javascript脚本调试方法小结
2008/11/24 Javascript
JavaScript 自动完成脚本整理(33个)
2009/10/20 Javascript
JavaScript 嵌套函数指向this对象错误的解决方法
2010/03/15 Javascript
IE的fireEvent方法概述及应用
2013/02/22 Javascript
jquery 定位input元素的几种方法小结
2013/07/28 Javascript
Jquery增加鼠标中间功能mousewheel的实例代码
2013/09/05 Javascript
学习JavaScript设计模式之迭代器模式
2016/01/19 Javascript
CascadeView级联组件实现思路详解(分离思想和单链表)
2016/04/12 Javascript
AngularJS入门教程之控制器详解
2016/07/27 Javascript
Javascript中数组去重与拍平的方法示例
2017/02/03 Javascript
jQuery+CSS3实现点赞功能
2017/03/13 Javascript
Angular.Js中过滤器filter与自定义过滤器filter实例详解
2017/05/08 Javascript
爬虫利器Puppeteer实战
2019/01/09 Javascript
JavaScript私有变量实例详解
2019/01/24 Javascript
通过实例讲解JS如何防抖动
2019/06/15 Javascript
微信小程序后台持续定位功能使用详解
2019/08/23 Javascript
vue按需加载实例详解
2019/09/06 Javascript
node.js使用 http-proxy 创建代理服务器操作示例
2020/02/10 Javascript
关于element-ui表单中限制输入纯数字的解决方式
2020/09/08 Javascript
vue 数据遍历筛选 过滤 排序的应用操作
2020/11/17 Javascript
解决python 输出是省略号的问题
2018/04/19 Python
Python标准库shutil用法实例详解
2018/08/13 Python
Django框架模板注入操作示例【变量传递到模板】
2018/12/19 Python
Django中密码的加密、验密、解密操作
2019/12/19 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
2021/03/02 Python
大专学生推荐信范文
2013/11/19 职场文书
电子商务专业个人的自我评价
2013/12/19 职场文书
美容师的职业规划书
2013/12/27 职场文书
美术教师个人总结
2015/02/06 职场文书
行政答辩状范文
2015/05/21 职场文书
结婚喜宴迎宾词
2015/08/10 职场文书