vue下载 blob zip
时间: 2023-11-20 14:48:59 浏览: 88
在中下载blob zip文件的方法如下所示:
```javascript
// 下载文件
const fileRes = await axios.get(filePath, { responseType: 'blob' })
// 临时创建一个Blob对象,储存文件数据
// type: application/vnd.ms-excel;charset=utf-8 excel文件
// type: application/zip zip文件
const blob = new Blob([fileRes.data], { type: 'application/zip' })
// 创建a标签,模拟点击a标签,实现文件下载功能
const downloadElement = document.createElement('a')
const href = window.URL.createObjectURL(blob)
// 创建下载的链接
downloadElement.href = href
// 设置文件名
downloadElement.download = `${fileName}`
document.body.appendChild(downloadElement)
downloadElement.click()
document.body.removeChild(downloadElement)
window.URL.revokeObjectURL(href) // 释放掉blob对象。
```
相关问题
vue使用Blob下载zip包是后面总是加一个下划线
在使用Blob下载zip包时,文件名后面总是多了一个下划线,这很可能是因为文件名中包含了一些特殊字符,在文件名中使用特殊字符可能会导致文件名解析不正确,从而导致文件名出现异常。为了避免这种情况,我们可以使用正则表达式过滤掉文件名中的特殊字符,或者手动指定一个不包含特殊字符的文件名。另外,我们还需要注意设置文件的MIME类型,以确保浏览器能够正确地识别文件类型并进行下载。具体的代码实现可以参考以下示例:
```
let link = document.createElement('a');
link.href = window.URL.createObjectURL(new Blob([data]));
let fileName = 'example.zip';
fileName = fileName.replace(/[&\/\\#,+()$~%.'":*?<>{}]/g, ''); // 过滤掉特殊字符
link.download = fileName;
link.click();
```
vue new Blob下载table表格勾选的数据 zip格式
你可以使用JSZip库将表格数据转换为zip文件并进行下载。以下是一个示例代码:
```javascript
import JSZip from 'jszip'
// 获取勾选的表格数据
const selectedData = []
// 创建JSZip实例
const zip = new JSZip()
// 将表格数据转换为文本格式并添加到zip文件中
for (const data of selectedData) {
const text = JSON.stringify(data)
zip.file(`${data.name}.txt`, text)
}
// 生成zip文件并下载
zip.generateAsync({ type: 'blob' }).then((content) => {
const url = window.URL.createObjectURL(content)
const link = document.createElement('a')
link.href = url
link.download = 'selectedData.zip'
link.click()
})
```
你需要将上面的代码集成到你的项目中,并替换注释部分的代码以适应你的需求。请确保已经安装了JSZip库。
阅读全文