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

 }

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

相关文章

  • Cropper.js进阶之固定宽高图片裁切实现示例

    Cropper.js进阶之固定宽高图片裁切实现示例

    这篇文章主要为大家介绍了Cropper.js进阶之固定宽高图片裁切实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • js实现颜色阶梯渐变效果(Gradient算法)

    js实现颜色阶梯渐变效果(Gradient算法)

    在色彩中,色相、明度、纯度也都可以产生渐变效果,并会表现出具有丰富层次的美感。本文主要讲述两种颜色RGB数值的梯级渐变算法。下面跟着小编一起来看下吧
    2017-03-03
  • bootstrap中selectpicker下拉框使用方法实例

    bootstrap中selectpicker下拉框使用方法实例

    这篇文章主要给大家介绍了关于bootstrap中selectpicker下拉框使用的相关资料,文中通过示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03
  • JavaScript循环遍历的24个方法,你都知道吗

    JavaScript循环遍历的24个方法,你都知道吗

    这篇文章主要给大家介绍了关于JavaScript循环遍历的24个方法,文中对每种方法都给出了详细的实例代码,方便大家理解学习,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2021-09-09
  • ES6解构赋值的功能与用途实例分析

    ES6解构赋值的功能与用途实例分析

    这篇文章主要介绍了ES6解构赋值的功能与用途,结合实例形式分析了ES6结构赋值针对函数参数、赋值、json等相关操作使用技巧,需要的朋友可以参考下
    2017-10-10
  • 如何快速高效创建JavaScript 二维数组方法详解

    如何快速高效创建JavaScript 二维数组方法详解

    这篇文章主要为大家介绍了如何快速高效创建JavaScript 二维数组方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • javascript在事件监听方面的兼容性小结

    javascript在事件监听方面的兼容性小结

    javascript 在事件监听方面的兼容性总结,注意是由于多个浏览器的不一致,导致大家在js书写时需要考虑多个浏览器的兼容性。
    2010-04-04
  • Javascript将JSON日期格式化

    Javascript将JSON日期格式化

    在做项目中,将实体转化为JSON后,结果后台返回json时间格式为/Date(1306418993027)/,在前台JS里显示的并不是真正的日期,而且我们不能把所有日期字段都变成string吧,因此写了Javascript的扩展方法,来实现这个功能,代码如下
    2016-08-08
  • 解析Javascript中中括号“[]”的多义性

    解析Javascript中中括号“[]”的多义性

    这篇文章主要介绍了Javascript中中括号“[]”的多义性。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • JavaScript中立即执行函数实例详解

    JavaScript中立即执行函数实例详解

    javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各型各色的写法也是对javascript语言特性更进一步的深入理解。这篇文章主要给大家介绍了关于JavaScript中立即执行函数的相关资料,需要的朋友可以参考下。
    2017-11-11

最新评论