javascript - 在 javascript 中下载图像时出现网络错误
问题描述
当我尝试在 javascript 中单击按钮下载图像时,我得到了failed network error
function downloadImg(url, name){
const link = document.createElement('a');
link.href = `data:application/octet-stream;base64,${encodeURIComponent(url)}`;
link.download = name;
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
<button onclick=this.downloadImg("http://www.example.com/image.png", "img1.png");>Download</button>
解决方案
您可以尝试使用此代码
const downloadImg = document.getElementById('downImg')
downloadImg.onclick = function() {
const url = downloadImg.getAttribute('imgurl')
const name = downloadImg.getAttribute('name')
const link = document.createElement('a');
link.href = `data:application/octet-stream;base64,${encodeURIComponent(url)}`;
link.download = name;
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
<button id="downImg" imgurl="https://thesafety.us/images/articles/javascript-logo.png" name="javascript-logo.png">Download</button>
推荐阅读
- amazon-s3 - 循环浏览 zip 存档中的文件并将内容上传到 S3
- reactjs - 为什么按钮不渲染?
- c# - Entity Framework Core 3.1.3 (PostgreSQL) 使用 (AND OR) 创建 PostgreSQL 查询
- excel - 在某个点之后,跨数据行计算特定值?
- c++ - 为什么这段代码试图保存一个函数指针数组会返回错误?
- asp.net-web-api - Asp.net Web API 没有调用正确的方法
- visual-studio-code - 是否可以在 Visual Studio Code 中为 Java 项目选择 JDK 8?
- javascript - 如何将 InstancedBufferGeometry 与 threejs 一起使用
- tikz - 在 Tikz 中设置默认绘图
- java - 如何解决 Android Studio 中的私有布尔错误