我在base64中有一个PDF报告,我想显示嵌入在HTML页面中的文件。要做到这一点,我使用iFrame并且有效,但问题是我无法设置PDF的名称,以便在下载时将以指定的名称保存。
我可以设置文件名吗?如果是,我该怎么办?
这是我的代码:
var iFrameBlock = $("<iframe>").attr({
"src": base64file_encode,
"width": "100%",
"height": "100%",
"frameborder": "0"
});
$("#previewPDF").html(iFrameBlock);
&#13;
当我尝试下载文件时,要保存的名称是&#34; download.pdf&#34; Save dialog
我尝试了不同的方式,但也不起作用:
添加属性 download =&#34; filename.pdf&#34;
var iFrameBlock = $("<iframe>").attr({
"src": base64file_encode,
"width": "100%",
"height": "100%",
"frameborder": "0",
"download": "filename.pdf"
});
&#13;
我尝试更改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");
&#13;
但是,我希望防止使用任何其他库。
感谢您的时间
答案 0 :(得分:0)
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。