为什么PDF文件作为blob打开在本地主机上不起作用?

时间:2020-09-29 15:49:32

标签: javascript html vue.js pdf blob

我有一个Vue应用。我正在从服务器获取二进制文件。我将其转换为Blob,并以PDF格式显示在新的窗口标签中。在生产环境中运行正常,但在本地计算机上显示“错误无法加载PDF文档”。这是我获取并尝试显示文件的方式:

async getFullReportAndRedirect() {
     try {
         const result = await apiService.getPdf();
         const newBlob = new Blob([result], {type: "application/pdf"})
         if (window.navigator && window.navigator.msSaveOrOpenBlob) {
             window.navigator.msSaveOrOpenBlob(newBlob);
             return;
         } 
         const data = window.URL.createObjectURL(newBlob);
         let link = document.createElement('a');
         link.href = data;
         link.target= '_blank';
         link.click();
         setTimeout(function(){
           // For Firefox
            window.URL.revokeObjectURL(data);
         }, 100);
     } catch(err) {
         console.log(err);
     }
}

因此,blob:http://localhost:8080/463d7877-8f9b-4136-9771-f7326dd62eab这样的东西不起作用。 但是blob:http://production-web/463d7877-8f9b-4136-9771-f7326dd62eab可以在生产中使用。

0 个答案:

没有答案