downloadFile(data) { let blob = new Blob([data?.data], { type: "application/zip" }); let url = window.URL.createObjectURL(blob); let fileName = data?.headers["content-disposition"] .split(";")[1] .split("=")[1]; console.log(fileName, "fileName"); fileName = decodeURI(escape(fileName)); const link = document.createElement("a"); // 创建a标签 link.setAttribute("download", decodeURI(fileName)); link.href = url; link.click(); URL.revokeObjectURL(url); },
时间: 2024-04-05 15:31:01 浏览: 119
用WebClient.UploadData方法上载文件数据的方法
这是一个 JavaScript 函数,用于下载文件。函数接收一个参数 `data`,其中包括文件数据和文件名信息。函数的具体步骤如下:
1. 根据 `data` 中的文件数据创建一个 Blob 对象。
2. 使用 `URL.createObjectURL` 方法将 Blob 对象生成一个 URL。
3. 从 `data` 的响应头中获取文件名信息,并对文件名进行解码和转义。
4. 创建一个 `<a>` 标签,并设置 `download` 属性为解码后的文件名。
5. 将 URL 赋值给 `<a>` 标签的 `href` 属性。
6. 触发 `<a>` 标签的点击事件,使得浏览器开始下载文件。
7. 使用 `URL.revokeObjectURL` 方法释放 URL。
总的来说,这个函数的作用是将文件数据转换成可供用户下载的文件,通过浏览器的下载功能实现文件下载。
阅读全文