3 回答
TA贡献1827条经验 获得超8个赞
仅供参考,以下
window.open("data:application/pdf," + encodeURI(pdfString));
在Chrome中不再起作用。昨天,我遇到了相同的问题,并尝试了此解决方案,但没有成功(“不允许将顶部框架导航到数据URL”)。您不能再直接在新窗口中打开数据URL。但是,您可以将其包装在iframe中,并在如下所示的新窗口中打开它。=)
let pdfWindow = window.open("")
pdfWindow.document.write("<iframe width='100%' height='100%' src='data:application/pdf;base64, " + encodeURI(yourDocumentBase64VarHere)+"'></iframe>")
TA贡献1847条经验 获得超7个赞
window.open("data:application/pdf," + escape(pdfString));
上面的代码将编码后的内容粘贴到URL中。这就限制了URL中内容的长度,从而导致PDF文件加载失败(由于内容不完整)。
TA贡献1830条经验 获得超3个赞
您可能想使用数据URI进行探索。它看起来像。
window.open("data:application/pdf," + escape(pdfString));
我无法立即使它正常工作,这可能是因为提供的二进制字符串的格式。使用数据URI时,我通常也使用base64编码的数据。如果您能够通过后端编码传递内容,则可以使用。
window.open("data:application/pdf;base64, " + base64EncodedPDF);
希望这是您所需要的
添加回答
举报