代码之家  ›  专栏  ›  技术社区  ›  one-hand-octopus

点击下载按钮从URL下载图片:URL中的点都被下划线代替了?

  •  0
  • one-hand-octopus  · 技术社区  · 5 年前

    我正在尝试这样做:单击“下载”按钮并从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
    

    2 回复  |  直到 5 年前
        1
  •  3
  •   Mitya    5 年前

    你误解了 download 属性有效。来自MDN:

    如果属性有值,则将其用作预填充的文件名 在保存提示中(如果 想要)。对允许的值没有限制,尽管/和 已转换为下划线。大多数文件系统在 文件名和浏览器将相应地调整建议的名称。

    所以使用 href 下载 属性,如果需要,请指定当前文件名以外的文件名。

    <a download=my_foo.png href=path/to/foo.png />
    
        2
  •  0
  •   Mouser    5 年前

    MDN :

    尽管/和\被转换为下划线。 大多数文件系统限制文件名中的某些标点符号,浏览器会相应地调整建议的名称。

    所以在规范中是这样做的,因为在文件系统中,点和斜线会导致无效的文件名。

    <a download="512.png" href="https://cdn4.iconfinder.com/data/icons/web-links/512/41-512.png" title="ImageName">
      <button>download</button>
    </a>