代码之家  ›  专栏  ›  技术社区  ›  skolima

在不打开新标签的情况下强制从Google Chrome下载图片

  •  3
  • skolima  · 技术社区  · 15 年前

    我们希望允许用户通过按钮从我们的网站下载图片。我们有基本的下载工作正常(它保存到磁盘上),但我们打开一个新窗口…

    window.open('mypicture', '_blank');
    

    不幸的是,这在Chrome中创建了一个新的选项卡,它不会消失。我们没有最成熟的用户,如果屏幕突然变空,他们可能会感到困惑。

    我们尝试过…

    location.href='mypicture'
    

    这在IE中很有用,但在Chrome中,它完全忽略了下载。

    有没有其他方法可以在不打开新窗口的情况下强制下载图片?

    2 回复  |  直到 15 年前
        1
  •  2
  •   lashtal    15 年前

    理想情况下,您应该发送HTTP头,以提示图片下载如下

    Content-Disposition: attachment; filename="downloaded.jpg"
    

    ..所以你应该把链接指向一个PHP脚本(或者其他什么脚本),它会发送一个带有适当标题的图片。

        2
  •  0
  •   skolima    15 年前

    也许这是Chrome中的一个bug(FF也是)?我只是用一个链接试了一下,效果很好。

    <a href="mypicture">Download</a>