2016-09-24 46 views
2

在我的html文件中,我想要點擊圖像鏈接時,它開始下載圖像到本地文件夾。通常要下載一個鏈接,我們必須右鍵單擊然後選擇另存爲。Html:如何下載鏈接點擊,而不是右鍵單擊並保存爲

我試過如下:

var href = document.createElement("a"); 
href.setAttribute("href", url1); 
href.appendChild(document.createTextNode("Image Download")); 
href.setAttribute("download", "test.jpg"); 
contentDiv.appendChild(href); 

但它仍然沒有工作。我點擊,圖像瀏覽器

回答

1

而是嘗試沿着這一線路在你的HTML的東西打開:

<a download="test.jpg" href="insert/path" title="insertName"> 
 
insert text here!! 
 
</a>

希望這會有所幫助,但我聽說這只是在某些瀏覽器中工作!

*注 - 我相信你需要像我這樣做,只需更換佔位符!

+0

'download'我在firefox中試過這個。它沒有工作 –

+0

'href =「insert/path /(你希望用戶保存到哪裏)」'這是什麼意思。我的圖像href是'https://farm8.staticflickr.com/7555/29856053076_43 ccee f1b6_o.jpg' –

+0

謝謝你的幫助。我迫切需要一些工作解決方案。你能否澄清我的意見 –

1

MDN Reference

這個屬性,如果存在,表明筆者擬在 超級鏈接用於下載的資源,這樣當用戶 點擊的鏈接,他們將被提示將其保存爲本地文件。 如果該屬性具有值,則該值將用作保存提示中的預填 文件名,該文件名在用戶單擊 鏈接時打開(用戶可以在實際保存 課程的文件之前更改名稱)。對允許的值沒有限制(雖然/和\ 將轉換爲下劃線,阻止了特定的路徑提示),但是 您應該考慮大多數文件系統在 方面與文件名支持的標點符號有關的限制,以及瀏覽器 可能會相應地調整文件名稱。

在Firefox中不支持download屬性。

var imageURL, contentDiv, href, img; 
 
imageURL = "https://cdn3.iconfinder.com/data/icons/tango-icon-library/48/go-home-128.png"; 
 

 
contentDiv = document.getElementById("contentDiv"); 
 

 
href = document.createElement("a"); 
 
href.setAttribute("href", imageURL); 
 
href.setAttribute("download", imageURL); 
 

 
img = document.createElement("img"); 
 
img.alt = "Download image"; 
 
img.title = img.alt; 
 
img.src = imageURL; 
 

 
href.appendChild(img); 
 
contentDiv.appendChild(href);
<div id="contentDiv"></div>

注: 在谷歌瀏覽器,您可以使用

不過,如果您使用Chrome,使用JavaScript,你可以用這樣的嘗試download屬性,無需設置要下載的網址。

例子:

<a href="https://cdn3.iconfinder.com/data/icons/tango-icon-library/48/go-home-128.png" download>Image Download</a>

+0

這與我的代碼有什麼不同。 –

+0

href.setAttribute(「下載」,「下載」);是不同於你的代碼@SanthoshYedidi – andrepaulo

+0

我使用'href.setAttribute(「下載」,「test.jpg」);'與href.setAttribute(「下載」,「下載」)有何不同。只有test.jpg和下載,會有什麼區別 –

0

從服務器發送以下響應頭下載,否則將被顯示在瀏覽器本身就是一個文件:

Content-Disposition: attachment; filename=FILENAME 
Content-Type: application/x-force-download; name="FILENAME" 

其中FILENAME是下載文件時需要的名稱。

相關問題