【发布时间】:2021-01-02 07:06:12
【问题描述】:
我正在构建一个反应项目,用户需要能够预览已上传的文档。我将文件存储在名为“上传”的变量中的 blob 文件中,当用户单击预览按钮时,我使用以下代码将其显示在新选项卡中:
var newWIndow;
if (upload.includes("data:application/pdf"))
newWIndow = "<iframe width='100%' height='100%' src='" + upload + "'></iframe>"
else
newWIndow = "<img width='100%' src='" + upload + "'></img>";
var x = window.open();
x.document.open();
x.document.write(newWIndow);
x.document.close();
上传仅限于图像或 pdf 文件,并且效果很好,除非文件大小超过 1MB。在这种情况下,它只是打开一个空白页面:
整个 blob 文件太大,无法在此处发布,但我认为了解它的外观可能有助于有人发现我做错了什么,所以这里是一个 sn-p:
data:application/pdf;base64,JVBERi0xLjQNJeLjz9MNCjEgMCBvYmoNPDwvTWV0YWRhdGEgMiAwIFIvUGFnZXMgMyAwIFI
可能有人对我有什么建议吗?有没有更好的方法来打开上传的文档?有没有办法解决尺寸问题?任何建议将不胜感激。
【问题讨论】: