这个问题通常是由于浏览器无法直接解释blob对象的结果,而将其作为blob URL呈现的缘故。为了解决这个问题,我们可以使用下面的代码来创建一个虚拟的超链接,并自动点击它以下载文本文件:
function downloadBlobFile(blob, filename) {
var link = document.createElement('a');
link.style.display = 'none';
document.body.appendChild(link);
link.href = window.URL.createObjectURL(blob);
link.download = filename;
link.click();
window.URL.revokeObjectURL(link.href);
}
我们可以使用以下方式调用该函数:
fetch('yourBlobTextFileUrl')
.then(response => response.blob())
.then(blob => downloadBlobFile(blob, 'yourCustomFilename.txt'))
.catch(error => console.log(error));
这将从您的blob文本文件URL处获取blob,并将其转换为blob对象。然后,使用我们的downloadBlobFile函数下载它,并为其指定自定义文件名。
请注意,您需要将“yourBlobTextFileUrl”和“yourCustomFilename.txt”替换为您自己的URL和文件名。