要解决“Blob无法正确生成PDF文件”的问题,可以尝试以下解决方法:
使用FileSaver.js库:
// 引入FileSaver.js库
import { saveAs } from 'file-saver';
// 生成Blob对象
const blob = new Blob([pdfData], { type: 'application/pdf' });
// 使用FileSaver.js保存Blob对象为PDF文件
saveAs(blob, 'filename.pdf');
使用URL.createObjectURL()方法:
// 生成Blob对象
const blob = new Blob([pdfData], { type: 'application/pdf' });
// 创建URL对象
const url = URL.createObjectURL(blob);
// 创建a标签并设置下载属性
const link = document.createElement('a');
link.href = url;
link.download = 'filename.pdf';
// 模拟点击a标签进行下载
link.click();
// 释放URL对象
URL.revokeObjectURL(url);
使用fetch()请求并保存文件:
// 生成Blob对象
const blob = new Blob([pdfData], { type: 'application/pdf' });
// 发起fetch请求
fetch('http://example.com/savepdf', {
  method: 'POST',
  body: blob
})
.then(response => response.blob())
.then(blob => {
  // 创建URL对象
  const url = URL.createObjectURL(blob);
  // 创建a标签并设置下载属性
  const link = document.createElement('a');
  link.href = url;
  link.download = 'filename.pdf';
  // 模拟点击a标签进行下载
  link.click();
  // 释放URL对象
  URL.revokeObjectURL(url);
})
.catch(error => {
  console.error('Save PDF error:', error);
});
请根据您的具体场景选择适合的解决方法。
                    上一篇:blob无法识别字体文件类型。
                
下一篇:Blob相对于视频URL的优势