如何解码base64字符串并从base64字符串下载文件? 以前,我编写了一个文件:
var strEncoded="";
file = $('#fileinput1')[0].files[0];
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function () {
strEncoded = reader.result;
};
谢谢
答案 0 :(得分:0)
您可以创建<a>
链接并将数据提供给其href
。例如,我使用了像这样的数据/图像base64:
<a href="data:image/png;base64,iVBORw0K........" download>Download</a>
download
属性可以完成这项工作。
或者只是试试这个:
location.href = strEncoded;
在一个功能中:
download(dataUrl) {
location.href = dataUrl;
}
<a href="javascript:;" onclick="download(strEncoded);">Download</a>
答案 1 :(得分:0)
请勿使用b64版本,而是直接使用您从输入中获得的File对象。
最新的浏览器确实支持主播的download
属性,您只需执行a.href = URL.createObjectURL(yourFile); a.download = 'yourfile.whateverExtension'
。
对于较旧的浏览器,有一些hacks,都在精美的FileSaver.js库中浓缩。
然后您需要做的就是
var inp = document.querySelector('input');
inp.onchange = function(){
saveAs(this.files[0], 'yourFile.extension');
};
<script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/2014-11-29/FileSaver.js"></script>
<input type="file"/>