在JavaScript中,您不能直接访问文件系统。但是,您可以使浏览器弹出一个对话框,允许用户选择保存位置。为此,请将该replace方法与Base64String一起使用,并替换"image/png"为"image/octet-stream":
"data:image/png;base64,iVBORw0KG...".replace("image/png", "image/octet-stream");
此外,与W3C兼容的浏览器提供了两种方法来处理base64编码的和二进制数据:
atob()
btoa()
可能您会发现它们在某种程度上很有用...
这是我了解您需要的重构版本:
window.addEventListener('DOMContentLoaded', () => {
const img = document.getElementById('embedImage');
img.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA' +
'AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO' +
'9TXL0Y4OHwAAAABJRU5ErkJggg==';
img.addEventListener('load', () => button.removeAttribute('disabled'));
const button = document.getElementById('saveImage');
button.addEventListener('click', () => {
window.location.href = img.src.replace('image/png', 'image/octet-stream');
});
});
save image