我可以使用静态HTML文件将base64内容嵌入这样的对象元素中:
<object data="data:application/pdf;base64,x0l3ACAAAA...LOTS MORE DATA" type="application/pdf" id="SOME_ID"></object>
然后以某种方式有一个链接来打开该内容(理想情况下是在新窗口中或通过下载),例如,这似乎不起作用:
<a href="SOME_ID" target="_blank">open file</a>
答案 0 :(得分:1)
使用3x3 PNG(90字节)进行完整测试的基本示例。包括两个链接。一种使用标准HTML,另一种使用Javascript。老实说,不确定它是否适用于非常大的PDF文件。
function dlMe(e) {
this.download = "3x3.png";
this.href = document.getElementById("imgPng").getAttribute("data");
return true;
}
window.onload = function() {
var a = document.getElementById("dlJs");
a.addEventListener("click",dlMe,false);
}
<object id="imgPng" type="image/png" data="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAIUlEQVQI12P0iq78zwAFTAxIgOnv378Mf//+ZWBhYWEAAIIiCB0qP1ybAAAAAElFTkSuQmCC"></object>
<br />
<a href="#" id="dlJs">download with JS 3x3 image</a><br />
<a download="3x3.png" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAIUlEQVQI12P0iq78zwAFTAxIgOnv378Mf//+ZWBhYWEAAIIiCB0qP1ybAAAAAElFTkSuQmCC">download with HTML 3x3 image</a>