2012-09-01 231 views
0

我想知道是否有一種方法可以直接下載圖像鏈接? 當我做這樣的事情:直接從鏈接下載圖片

它打開了圖像中的瀏覽器或新選項卡。當用戶點擊該鏈接立即下載圖像時,我想要。有沒有辦法用HTML/CSS或ASP.NET MVC 3做到這一點?

我的網頁類似tumblr博客,主頁上有幾個圖像,每個圖標旁邊都有「Download HQ」按鈕。

回答

2

添加HTTP標頭:

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

哪裏是你希望出現在另存爲對話框的文件名(如財政.xls或mortgage.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); 
} 
+0

要我穿什麼,而不是從「VAR文件= ...」的3個點? – Milanix

+0

如果您的項目中沒有這樣的容器類,則不需要「文檔」變量。相反,您可以將其使用的地方替換爲實際的數據變量。 –

2

您將需要服務器端腳本,使鏈接下載的,你需要將標題設置爲

Content-Disposition:attachment;filename=some.jpg 

,然後讀取圖像的內容,並刷新到響應對象。

這裏是asp.net的例子

Example

+0

好吧我從例如一個想法,TY – Milanix