【问题标题】:Download image when clicking on the image in react在反应中单击图像时下载图像
【发布时间】:2021-02-22 23:53:47
【问题描述】:

我有一个从 Unsplash API 获取图像的简单应用。我希望用户点击图片并下载它,也可能让图片在新标签页中打开。 urls.regular 只是一个简单的 url,例如 https://images.unsplash.com/photo-1543332164-6e82f355badc?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=1080&fit=max&ixid=eyJhcHBfaWQiOjE3OTUzOH0

在阅读了有关 stackoverflow 的其他问题后,我在我的 a 标签末尾添加了“下载”。

<div>
  <a href={urls.regular} title={description} download>
     <img
      src={urls.regular}
     />                   
  </a>
</div>

我还在我的 a 标签中尝试了以下内容:

                    href={urls.regular}
                    target="_blank"
                    rel="noopener noreferrer"
                    download={urls.regular}

【问题讨论】:

标签: html reactjs


【解决方案1】:

您应该为a 标签定义onclick 事件。

<a href={urls.regular} title={description} download onclick="onClick(urls.regular)">
function onClick(url) {
    window.open(url, '_blank');
}

【讨论】:

  • 你写的代码只是点击后在新标签页中打开图片,并没有下载图片。我想首先获取图像并将它们显示在列表中,此时应用程序会这样做,然后单击任何图像并 1- 图像被下载 2- 图像在新选项卡中打开。但最重要的是要下载的图像。
  • 所以这是我喜欢的过程。用户搜索图像。显示图像列表。然后用户单击所需的图像,该图像会自动下载到他们的设备上,并在新选项卡中打开。
  • 当你删除onclick=...时,下载正常吗?
  • 我删除了它,但是当我点击图片时,图片并没有下载到我的笔记本电脑上,它只是以全尺寸打开。
猜你喜欢
  • 1970-01-01
  • 2018-12-31
  • 2011-02-07
  • 2020-01-28
  • 1970-01-01
  • 1970-01-01
  • 2012-05-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多