js下载文件并修改文件名

 更新时间:2017年05月08日 08:37:55   作者:chanjuan  
这篇文章主要为大家详细介绍了js下载文件并修改文件名的代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

用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();
  }

 }

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

相关文章

  • 下拉菜单既可以选择,又可以自己填写

    下拉菜单既可以选择,又可以自己填写

    下拉菜单既可以选择,又可以自己填写...
    2006-07-07
  • 详解JS中如何终止foreach循环

    详解JS中如何终止foreach循环

    forEach专门用来循环数组,可以直接取到元素,同时也可以取到index值,终止forEach存在局限性,不能continue跳过或者break终止循环,所以本文给大家详细介绍了在JS中如何终止foreach循环,需要的朋友可以参考下
    2024-01-01
  • 一文搞懂TypeScript的安装、使用、自动编译的教程

    一文搞懂TypeScript的安装、使用、自动编译的教程

    TypeScript 是一种由微软开发的开源、跨平台的编程语言。它是 JavaScript 的超集,最终会被编译为 JavaScript 代码,关于TypeScript的安装、使用、自动编译很多朋友不是很清楚,今天抽空给大家普及下,感兴趣的朋友一起看看吧
    2021-06-06
  • JavaScript数组push方法使用注意事项

    JavaScript数组push方法使用注意事项

    push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。这篇文章主要介绍了JavaScript数组push方法使用注意,需要的朋友可以参考下
    2017-10-10
  • JS ES新特性 扩展运算符介绍

    JS ES新特性 扩展运算符介绍

    这篇文章主要介绍了JS ES新特性 扩展运算符,下面文章围绕ES新特性 扩展运算符的相关资料展开详细内容,需要的朋友可以参考一下,希望对大家有所帮助
    2021-12-12
  • Javascript基础之数组的使用

    Javascript基础之数组的使用

    这篇文章主要介绍了Javascript基础之数组的使用的相关资料,介绍的非常详解,具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-05-05
  • JavaScript调用ajax获取文本文件内容实现代码

    JavaScript调用ajax获取文本文件内容实现代码

    这篇文章主要介绍了JavaScript调用ajax获取文本文件内容的方法,需要的朋友可以参考下
    2014-03-03
  • 微信小程序实现提交input信息到后台的方法示例

    微信小程序实现提交input信息到后台的方法示例

    这篇文章主要介绍了微信小程序实现提交input信息到后台的方法,结合实例形式分析了微信小程序提交input信息到后台相关事件响应与数据处理操作技巧,需要的朋友可以参考下
    2019-01-01
  • 心扬JS分页函数代码

    心扬JS分页函数代码

    通过js实现分页的代码,一般情况下需要指定页数,脚本之家以前也发布过一些,大家结合下即可。
    2010-09-09
  • Webstorm2016使用技巧(SVN插件使用)

    Webstorm2016使用技巧(SVN插件使用)

    这篇文章主要介绍了Webstorm2016使用技巧(SVN插件使用),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10

最新评论