如何在 iframe 中设置 base64 pdf 的文件名?
Posted
技术标签:
【中文标题】如何在 iframe 中设置 base64 pdf 的文件名?【英文标题】:How can I set the filename for base64 pdf in iframe? 【发布时间】:2017-03-23 07:01:14 【问题描述】:我有一个 base64 格式的 PDF 报告,我想显示嵌入在 html 页面中的文件。为此,我使用 iFrame 并且可以工作,但问题是我无法设置 PDF 的名称,以便在下载时以指定的名称保存它。
我可以设置文件名吗?如果可以,我该怎么做?
这是我的代码:
var iFrameBlock = $("<iframe>").attr(
"src": base64file_encode,
"width": "100%",
"height": "100%",
"frameborder": "0"
);
$("#previewPDF").html(iFrameBlock);
结果:
Preview of PDF
当我尝试下载文件时,要保存的名称是“download.pdf” Save dialog
我尝试了不同的方法,但都不起作用:
添加属性download="filename.pdf"
var iFrameBlock = $("<iframe>").attr(
"src": base64file_encode,
"width": "100%",
"height": "100%",
"frameborder": "0",
"download": "filename.pdf"
);
我尝试更改 iframe 中的值,但我找到了正确的属性,Chrome 拒绝了该操作。
var iframe = $("iframe")[0];
var iframeDocument = iframe.contentDocument || iframe.contentWindow.document;
//here I suppose is the label of the filename
$(iframeDocument).find("viewer-pdf-toolbar");
但是,我想阻止使用任何其他库。
感谢您的宝贵时间
【问题讨论】:
找到解决办法了吗? 还没有,不过我用的是文件路径 万一,你找到方法了吗? 【参考方案1】:iframe
元素无法做到这一点,但作为替代方案,您可以添加锚标记。
var iFrameBlock = $("<iframe>").attr(
"id": "iframe",
"src": base64file_encode,
"width": "100%",
"height": "100%",
"frameborder": "0"
);
var aTag = $("<a>Dwonload</a>").attr(
"href": base64file_encode,
"download": "yourName.pdf"
);
$("#previewPDF").html(iFrameBlock);
aTag.insertAfter($("#iframe"));
问候,KJ。
【讨论】:
以上是关于如何在 iframe 中设置 base64 pdf 的文件名?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iframe 中设置 Chrome 打印对话框的默认文件名?
如何在 iframe 的“srcdoc”属性中设置 HTML 代码?