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 相关文章推荐
DOM精简教程
Oct 03 Javascript
如何获取select下拉框的值(option没有及有value属性)
Nov 08 Javascript
Bootstrap表单布局
Jul 19 Javascript
原生JS实现图片轮播与淡入效果的简单实例
Aug 21 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
Dec 06 Javascript
Vue.Js中的$watch()方法总结
Mar 23 Javascript
微信小程序开发之选项卡(窗口底部TabBar)页面切换
Apr 12 Javascript
Jquery中attr与prop的区别详解
May 27 jQuery
JavaScript捕捉事件和阻止冒泡事件实例分析
Aug 03 Javascript
小程序云函数调用API接口的方法
May 17 Javascript
vue-cli2与vue-cli3在一台电脑共存的实现方法
Sep 25 Javascript
详解Vue之计算属性
Jun 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
PHP 飞信好友免费短信API接口开源版
2010/07/22 PHP
《PHP编程最快明白》第三讲:php数组
2010/11/01 PHP
《PHP编程最快明白》第七讲:php图片验证码与缩略图
2010/11/01 PHP
php session劫持和防范的方法
2013/11/12 PHP
3个PHP多维数组转为一维数组的方法实例
2014/03/13 PHP
php计算两个整数的最大公约数常用算法小结
2015/03/05 PHP
标准PHP的AES加密算法类
2015/03/12 PHP
Javascript学习笔记1 数据类型
2010/01/11 Javascript
jQuery中live方法的重复绑定说明
2011/10/21 Javascript
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
浅谈js中的闭包
2015/03/16 Javascript
jQuery实现自定义checkbox和radio样式
2015/07/13 Javascript
纯js代码实现简单计算器
2015/12/02 Javascript
简单谈谈JavaScript的同步与异步
2015/12/31 Javascript
js调用webservice构造SOAP进行身份验证
2016/04/27 Javascript
jQuery插件简单学习实例教程
2016/07/01 Javascript
js实现适合新闻类图片的轮播效果
2017/02/05 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
Bootstarp在pycharm中的安装及简单的使用方法
2019/04/19 Javascript
vue中利用iscroll.js解决pc端滚动问题
2020/02/15 Javascript
[01:55]TI9显影之尘系列 - Evil Geniuses
2019/08/22 DOTA
python删除过期文件的方法
2015/05/29 Python
Python爬虫之正则表达式的使用教程详解
2018/10/25 Python
python机器学习库scikit-learn:SVR的基本应用
2019/06/26 Python
python 哈希表实现简单python字典代码实例
2019/09/27 Python
Python 从attribute到property详解
2020/03/05 Python
用python绘制樱花树
2020/10/09 Python
AmazeUI 图标的示例代码
2020/08/13 HTML / CSS
台湾菁英交友:结识黄金单身的台湾人
2018/01/22 全球购物
公共事业管理本科生求职信
2013/10/07 职场文书
青年教师培训方案
2014/02/06 职场文书
法律七进实施方案
2014/03/15 职场文书
2014年终工作总结范本
2014/12/15 职场文书
项目建议书
2015/02/04 职场文书
2015年党员公开承诺事项
2015/04/27 职场文书
Nginx中使用Lua脚本与图片的缩略图处理的实现
2022/03/18 Servers