javascript - 点击下载按钮从网址下载图片:网址中的点都被下划线代替了?
问题描述
我正在尝试这样做:单击“下载”按钮并从 URL 下载图像。这是我的代码:
<a download="https://cdn4.iconfinder.com/data/icons/web-links/512/41-512.png" href="" title="ImageName">
<button>download</button>
</a>
单击“下载”按钮下载扩展名为 .png 的文件,但文件中的一些点被下划线替换:
https___cdn4.iconfinder.com_data_icons_web-links_512_41-512.png
我想下载png,为什么会这样?我该如何解决?
解决方案
您误解了该download
属性的工作原理。来自 MDN:
如果属性有值,则在保存提示中将其用作预填充的文件名(用户仍可以根据需要更改文件名)。尽管 / 和 \ 被转换为下划线,但对允许的值没有限制。大多数文件系统会限制文件名中的一些标点符号,浏览器会相应地调整建议的名称。
所以使用href
属性指向文件,download
如果需要的话,使用属性来指定一个不同于当前文件名的文件名。
<a download=my_foo.png href=path/to/foo.png />
推荐阅读
- c# - C# 双线性插值 RGB
- c++ - lambda 对象构建成本高吗?
- ftp - 使用 Persistent Disk 在 Google Kubernetes Engine 上部署应用以存储 MYSQL 数据和代码
- vba - 根据其他列更改单元格值
- opencv - 如何使用 OpenCV 和 C++ 裁剪网络摄像头馈送帧
- html - 如何通过selenium webdriver和java点击页面上带有锚标签的链接
- java - 单元测试中是否使用了 Spring Framework?
- akka - akka.persistence.RecoveryTimedOut:恢复超时,30000毫秒内没有拿到快照
- angular - angular 6 通用应用程序生产构建错误
- selenium - 如何获取跨度内的文本