首页 > 解决方案 > 点击下载按钮从网址下载图片:网址中的点都被下划线代替了?

问题描述

我正在尝试这样做:单击“下载”按钮并从 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,为什么会这样?我该如何解决?

标签: javascripthtmlimageurlbutton

解决方案


您误解了该download属性的工作原理。来自 MDN:

如果属性有值,则在保存提示中将其用作预填充的文件名(用户仍可以根据需要更改文件名)。尽管 / 和 \ 被转换为下划线,但对允许的值没有限制。大多数文件系统会限制文件名中的一些标点符号,浏览器会相应地调整建议的名称。

所以使用href属性指向文件,download如果需要的话,使用属性来指定一个不同于当前文件名的文件名。

<a download=my_foo.png href=path/to/foo.png />

推荐阅读