【发布时间】:2012-08-27 04:13:09
【问题描述】:
我想知道是否有办法为图像制作直接下载链接? 当我做这样的事情时:
它会在浏览器或新标签页中打开图像。我希望当用户单击该链接时立即下载图像。有没有办法用 HTML/CSS 或 ASP.NET MVC 3 做到这一点?
我的页面类似于 tumblr 博客,主页上有几张图片,每个图片旁边都有“下载总部”按钮。
【问题讨论】:
标签: html css asp.net-mvc-3 href
我想知道是否有办法为图像制作直接下载链接? 当我做这样的事情时:
它会在浏览器或新标签页中打开图像。我希望当用户单击该链接时立即下载图像。有没有办法用 HTML/CSS 或 ASP.NET MVC 3 做到这一点?
我的页面类似于 tumblr 博客,主页上有几张图片,每个图片旁边都有“下载总部”按钮。
【问题讨论】:
标签: html css asp.net-mvc-3 href
添加 HTTP 标头:
Content-Disposition: attachment; filename=<file name.ext>
您想在“另存为”对话框中显示的文件名在哪里(如财务.xls 或抵押.pdf) - 不带 符号。
这是 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);
}
【讨论】:
您将需要服务器端脚本以使链接可下载,您需要将标头设置为
Content-Disposition:attachment;filename=some.jpg
然后读取图像的内容并将其刷新到响应对象。
这里是一个asp.net的例子
【讨论】: