从网络浏览器下载图片时遇到问题。我想直接下载图像,而是在浏览器中打开它。我正在使用asp.net。
我的HTML代码:
<a href ="http://example.com/file/image.jpg" target="_blank" /> Download </a>
答案 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();