从链接直接下载图像

时间:2012-09-01 19:20:31

标签: html css asp.net-mvc-3 href

我想知道是否有办法为图片制作直接下载链接? 当我做这样的事情时:

它会在浏览器或新标签页中打开图像。我希望当用户点击该链接立即下载图像时。有没有办法用HTML / CSS或ASP.NET MVC 3?

我的页面类似于tumblr博客,主页上有几个图像,每个页面旁边都有“下载总部”按钮。

2 个答案:

答案 0 :(得分:2)

您需要服务器端脚本才能使链接可下载,您需要将标题设置为

Content-Disposition:attachment;filename=some.jpg

然后读取图像的内容并将其刷新到响应对象。

这是asp.net

的一个例子

Example

答案 1 :(得分:2)

添加HTTP标头:

Content-Disposition: attachment; filename=<file name.ext> 

您想要在SaveAs对话框中显示的文件名在哪里(例如finances.xls或mortgage.pdf) - 没有&lt;和&gt;符号。

下面是MVC框架中的一个例子:

public ActionResult Download()
{
    var document = ...
    var cd = new System.Net.Mime.ContentDisposition
    {
        // for example foo.bak
        FileName = document.FileName, 

        // always prompt the user for downloading, set to true if you want 
        // the browser to try to show the file inline
        Inline = false, 
    };
    Response.AppendHeader("Content-Disposition", cd.ToString());
    return File(document.Data, document.ContentType);
}