pdf new Blob type
时间: 2024-01-06 19:22:32 浏览: 151
在Vue项目中,Blob二进制方式是一种常用的文件下载方式。在代码中,我们可以使用new Blob()方法创建一个二进制对象,其中第一个参数是一个数组,数组中的元素是需要下载的文件内容,第二个参数是一个对象,用于指定文件类型。对于PDF文件,可以将type参数设置为"application/pdf"。这样创建的Blob对象可以被用于创建URL,然后通过a标签的download属性实现文件下载。
相关问题
export function downLoadFile(fileType, name, data) { let blob; switch (fileType) { case "jpg": blob = new Blob([data]); break; case "xlsx": case "xls": blob = new Blob([data], { type: 'application/vnd.ms-excel' // type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8' }); break; case "doc": blob = new Blob([data], { type: 'word:application/msword' }); break; case "pdf": blob = new Blob([data], { type: 'application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8' }); break; case "csv": blob = new Blob([data], { type: 'text/csv;charset=utf-8' }); break; } const objectUrl = URL.createObjectURL(blob); const link = document.createElement("a"); // fileName let fileName = `${name}.${fileType}`; link.href = objectUrl; link.setAttribute("download", fileName); document.body.appendChild(link); link.click(); // 释放 window.URL.revokeObjectURL(link.href); }
这是一个JavaScript的文件下载函数,接受三个参数:文件类型(fileType)、文件名(name)和文件数据(data)。在函数中,根据文件类型的不同,使用Blob对象创建对应的文件数据,然后使用URL.createObjectURL方法创建一个指向Blob数据的URL,将URL赋值给一个a标签的href属性,最后通过调用a标签的click方法触发下载。最后使用window.URL.revokeObjectURL方法释放URL对象。该函数支持下载多种类型的文件,包括jpg、xlsx、xls、doc、pdf和csv。
const pdfBlob = new Blob([this.pdfUrl], { type: 'application/pdf' }); 引入了paf.js但是Blob is not defined怎么解决
如果在浏览器中使用 Blob 类,需要确保你的代码在支持 Blob 类的浏览器中运行,同时也要确保 Blob 类的引用被正确加载。
你可以尝试增加以下代码来检查浏览器是否支持 Blob 类:
```
if (typeof Blob !== 'undefined') {
const pdfBlob = new Blob([this.pdfUrl], {type: 'application/pdf'});
// do something with pdfBlob
} else {
console.error('Your browser does not support Blob');
}
```
如果你在使用 Node.js 运行你的代码,则需要使用 Node.js 中的 fs 模块来创建文件流,而不是浏览器中的 Blob 类。
阅读全文