javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > js window.open(url)下载文件

js通过window.open(url)下载文件并修改文件名

作者:大大。

这篇文章主要给大家介绍了关于js如何通过window.open(url)下载文件并修改文件名的相关资料,我们知道下载文件是一个非常常见的需求,文中通过代码介绍的非常详细,需要的朋友可以参考下

通过window.open(url)下载文件(xlsx、xls、zip等格式文件),如果前端想要自定义更改下载时的文件名,可以使用以下方法

// 下载文件,自定义文件名称
export function downFile(url, fileName) {
  const x = new XMLHttpRequest()
  x.open('GET', url, true)
  x.responseType = 'blob'
  x.onload = function() {
    const url = window.URL.createObjectURL(x.response)
    const a = document.createElement('a')
    a.href = url
    a.download = fileName
    a.click()
  }
  x.send()
}

在页面调用

downFile('url', '自定义文件名')

附:window.open打开窗口被拦截的快速解决方法

自己遇到的使用window.open打开新窗口被拦截的几种情况(使用的chrome浏览器,其他浏览器未测):

第一次:window.open(www.gimoo.net),打开了新窗口,但是页面并没有加载出来,需要回车才能出来

解决方法:页面地址需要加上协议名称http://或者https://

第二次:在ajax异步请求成功的回调函数中使用window.open方法,虽然加上了协议名称,但是,却并没有打开新窗口,在地址栏直接显示 被拦截 的字样

解决方法:有两种:

1、将ajax异步请求改为同步请求

2、使用 var newWindow = window.open("_blank");newWindow .location = "url地址";

总结 

到此这篇关于js通过window.open(url)下载文件并修改文件名的文章就介绍到这了,更多相关js window.open(url)下载文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文