从浏览器下载图像

时间:2011-10-03 08:33:11

标签: asp.net html http

从网络浏览器下载图片时遇到问题。我想直接下载图像,而是在浏览器中打开它。我正在使用asp.net。

我的HTML代码:

<a href ="http://example.com/file/image.jpg" target="_blank" /> Download </a> 

2 个答案:

答案 0 :(得分:4)

您需要做的是修改HTTP标头,以便请求浏览器显示图像的“文件对话框”,而不是简单地在屏幕上显示。

要执行此操作,您需要修改Content-Disposition标头并将其设置为attachment。要在ASP.NET中执行此操作,您可以执行以下操作:

Response.Clear()
Response.AppendHeader("Content-Disposition", "attachment; filename=somefilename")

但请确保在之前执行此操作

您可能还想更改以下内容:

Response.ContentType = "image/jpeg"

这将允许浏览器在“文件”对话框中进行注册并显示图像图标。要最终发送文件,您可以调用:

Response.TransmitFile(Server.MapPath("/myimage.jpg"));
Response.End();

但是请你意识到你在这里所做的就是修改服务器对浏览器的要求 - 无论如何都不会将其执行。

答案 1 :(得分:0)

尝试以下方法(假设您正在使用c#)

    Response.ContentType = "image/jpg";
    Response.AppendHeader("Content-Disposition", "attachment; filename=myimage.jpg");
    Response.TransmitFile(Server.MapPath("/images/image.jpg"));
    Response.End();