我在骨干模型中有一个BASE64编码文件。
看起来像这样(console.log(model.toJSON());
):
Attachments: Array[1]
0: Object
Content: "JVBERi0xLjQKJeLjz9MKMSAwIG9iaiA8PC9UeXBlL..."
ContentLength: 29512
ContentType: "application/octet-stream"
Name: "Notification.pdf"
如何通过点击事件强制下载,将其发送到浏览器? 我想避免回到服务器来执行此操作。
由于
答案 0 :(得分:0)
您有几个不同的选项,都涉及Data URIs。
如果您只是想快速下载并且不关心文件名是什么,那么您可以让JS执行此操作:
window.location = 'data:application/octet-stream;base64,JVBERi0xLjQKJ...';
但是,如果您希望能够为下载指定文件名,则需要重新使用新的HTML5功能和<a>
标记。
var a = document.createElement('a');
a.href = 'data:application/octet-stream;base64,JVBERi0xLjQKJ...';
a.download = 'Filename.pdf';
a.click();
这适用于较旧的浏览器,但由于download
属性是HTML5中的新属性,因此他们将在没有正确文件名的情况下下载该文件。