【问题标题】:Direct download image from link从链接直接下载图片
【发布时间】:2012-08-27 04:13:09
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

    添加 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);
    }
    

    【讨论】:

    • 我应该用什么代替“var document = ...”中的 3 个点?
    • 如果您的项目中没有这样的容器类,则不需要“document”变量。相反,您可以将其使用的位置替换为您的实际数据变量。
    【解决方案2】:

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

    Content-Disposition:attachment;filename=some.jpg
    

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

    这里是一个asp.net的例子

    Example

    【讨论】:

    • 好的,我从这个例子中得到了一个想法,ty
    猜你喜欢
    • 2018-06-26
    • 2016-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多