我创建了一个函数,它接受blob
和fileName
,用于下载该blob
,实现如下:
TBD
const blobToBase64 = (blob, callback) => {
const reader = new FileReader();
reader.onloadend = () => {
const base64 = reader.result;
console.log({ base64 });
callback(base64);
};
reader.readAsDataURL(blob);
};
const downloadFile = (blob, fileName) => () => {
const link = document.createElement('a');
blobToBase64(blob, (base64) => {
link.href = base64;
link.download = fileName;
link.click();
});
};
downloadFile(myBlob, myFileName);
为了尝试调试这个问题,我使用console.log
记录了由reader.result
创建的base64
值。那个
base64
值是data:application/octet-stream;base64,Mzc4MDY4...
。我的PDF文件已被下载但已损坏。在我的文件下载实现中,我做错了什么?
如果有任何其他细节能帮助解决这个问题,请告诉我。我确信blob本身不是一个损坏的文件。
application/pdf
,而不是application/octet-stream
。 - Zenoo