要将 blob 转换为.doc,.docx、.xls 或 .txt 在浏览器中查看,而无需使用 Javascript 下



我可以通过以下代码将 blob 转换为 pdf 附件以在浏览器中查看而无需下载

var ieEDGE = navigator.userAgent.match(/Edge/g);
var ie = navigator.userAgent.match(/.NET/g); // IE 11+
var oldIE = navigator.userAgent.match(/MSIE/g);
//var bytes = new Uint8Array(response); //use this if data is raw bytes else directly pass resData
var blob = new window.Blob([response], { type: 'application/pdf' });
if (ie || oldIE || ieEDGE) {
window.navigator.msSaveBlob(blob, fileName);
}
else {
var fileURL = URL.createObjectURL(blob);
window.open(fileURL);
}

这适用于chrome和Firefox中的pdf。但是对于.doc,.docx,.xlx,它正在下载,尽管我提供了适当的MIME类型。(即对于.doc文件,我正在使用应用程序/msword 等(。

请注意,我正在从安全的.net核心API获取.doc,.docx,.xlx数据。有没有其他方法可以在浏览器中查看单词,excel文件而无需下载。

这是完全正常的行为,默认情况下您无法在浏览器中查看Word或Excel文档,这就是下载文件的原因。这取决于浏览器如何处理文件。旧的Internet Explorer可能也只是下载PDF,而不是显示它。

最新更新