1. const link = document.createElement('a') : 通过dom创建一个a标签
2. let objectUrl = URL.createObjectURL(response):
语法:
objectURL = URL.createObjectURL(object);
参数
object
用于创建 URL 的 File 对象、Blob 对象或者 MediaSource 对象。
静态方法会创建一个 DOMString,其中包含一个表示参数中给出的对象的URL。这个 URL 的生命周期和创建它的窗口中的 document 绑定。这个新的URL 对象表示指定的 File 对象或 Blob 对象。
3.link.href = objectUrl
4. link.download = '产品导入模板.xlsx' // 自定义文件名
5. link.click() // 点击下载文件
6.URL.revokeObjectURL(objectUrl); // 释放内存
静态方法用来释放一个之前已经存在的、通过调用 URL.createObjectURL() 创建的 URL 对象。当你结束使用某个 URL 对象之后,应该通过调用这个方法来让浏览器知道不用在内存中继续保留对这个文件的引用了。
你可以在 sourceopen
被处理之后的任何时候调用 revokeObjectURL()
。这是因为 createObjectURL()
仅仅意味着将一个媒体元素的 src
属性关联到一个 MediaSource 对象上去。调用revokeObjectURL()
使这个潜在的对象回到原来的地方,允许平台在合适的时机进行垃圾收集。
语法
window.URL.revokeObjectURL(objectURL);
参数
objectURL
一个 DOMString,表示通过调用 URL.createObjectURL() 方法产生的 URL 对象。
exportModel().then(response => {
const link = document.createElement('a')
let objectUrl = URL.createObjectURL(response);
link.href = objectUrl
link.download = '产品导入模板.xlsx' // 自定义文件名
link.click() // 下载文件
URL.revokeObjectURL(objectUrl); // 释放内存
})