【问题标题】:Download link for Images within a folder, or download link for direct images文件夹内图片的下载链接,或直接图片的下载链接
【发布时间】:2018-06-26 10:33:59
【问题描述】:

我想创建一个下载链接,它将根据链接目录下载一个充满图像的文件夹,或者创建多个链接来切换单个图像的下载。

我找到了下面的代码,但是,这似乎只适用于本地图像,而不是来自我存储图像的外部 url,有人有什么建议吗?

<a href="/path/to/image" download>
    <img src="/path/to/image" />
</a>

【问题讨论】:

  • 您无法下载包含单个链接的文件夹。您需要创建一个 zip 存档并将其发送给客户端。或者为每个文件创建一个下载链接,但这意味着用户必须手动单击 x 个链接。
  • 谢谢,我可以为每张图片设置按钮,然后在每次点击时单独下载每张图片,您知道使用外部链接路径@VDWWD 进行此操作的方法
  • 浏览器默认不会要求下载图片..

标签: c# asp.net html image-processing


【解决方案1】:
<a download="yourfilename.jpg" href="http://www.example.com/path/to/image.jpg" title="Image title">
    <img alt="Image title" src="http://www.example.com/path/to/image.jpg">
</a>

这个download 属性可能还不被所有现代浏览器支持..check the tables。例如,此时 Safari 将无法工作。

您也可以选择制作自己的下载脚本。查看This answer 以获取 PHP 示例。

【讨论】:

    【解决方案2】:

    您可以使用Directory.GetFiles 执行此操作,并将文件直接绑定到中继器控件。

    <asp:Repeater ID="Repeater1" runat="server">
        <ItemTemplate>
    
            <asp:HyperLink ID="HyperLink1" runat="server" Target="_blank"
                NavigateUrl='<%# "/images/" + System.IO.Path.GetFileName(Container.DataItem.ToString()) %>'>
                <%# System.IO.Path.GetFileName(Container.DataItem.ToString()) %>
            </asp:HyperLink>
    
            <br />
    
        </ItemTemplate>
    </asp:Repeater>
    

    然后在后面的代码中将文件绑定到中继器

    Repeater1.DataSource = Directory.GetFiles(Server.MapPath("~/images/"), "*.jpg");
    Repeater1.DataBind();
    

    有关从文件夹中获取所有图像文件的更复杂的过滤器选项,请参阅此链接:C#:Getting all image files in folder

    【讨论】:

      猜你喜欢
      • 2012-08-27
      • 1970-01-01
      • 2011-09-11
      • 1970-01-01
      • 2011-01-25
      • 1970-01-01
      • 2011-04-08
      • 1970-01-01
      • 2022-08-15
      相关资源
      最近更新 更多