2012-02-06 42 views
0

可能重複:
Force Download an Image Using Javascript有沒有一個JavaScript的答案來自動下載圖像?

基本上我想有一個用戶選項,只需點擊下載按鈕,下載圖像(而具有含右鍵點擊或拖動並下降)。我在這裏閱讀另一篇文章,提供了一個PHP解決方案,但是如果這完全可以在JavaScript中完成,我更喜歡這個選項。那麼,可以這樣做嗎?

+0

我想出了一些東西,雖然有很多限制。請參閱重複問題中的[我的回答](http://stackoverflow.com/a/9158343/447356)。 – 2012-02-06 09:59:34

回答

1

瀏覽器總是試圖解釋你給他們的內容。如果瀏覽器認爲,它可以處理它,他們將採取相應的行動。在圖像的情況下 - 顯示它。你不能改變這種行爲。你只能欺騙瀏覽器告訴他,這不是他認爲的內容,通過設置「錯誤的」內容類型,這迫使瀏覽器顯示「下載」選項。通過JavaScript,您只能在新窗口中打開圖像,並讓用戶使用右鍵單擊/另存爲。

+0

因爲沒有人有答案,而且你看起來很有信心,所以我會接受你的評價。謝謝。 – Ian 2012-02-06 21:32:11

1

強制在新窗口中打開它。

$('img.class').click(function(){ 
window.open($(this).href,'image');}); 

但是,瀏覽器仍然會將其渲染爲圖像。 沒有辦法強制瀏覽器下載圖像,而沒有設置內容處置以下載和/或使用.htacess,每次下載圖像時都會觸發下載鏈接。我可以告訴你一個服務器端的解決方案,但我不認爲這就是你想要的

+1

+1,簡單而優雅。我使用這個直接鏈接到圖像的錨元素,然後阻止默認值。如果javascript沒有啓用,它會打開正常的鏈接,否則會執行:$('。anchor-class')。click(function(e){e.preventDefault(); window.open($(this))。 attr('href'));});' – brasofilo 2013-01-03 20:48:46

+0

請告訴,服務器端解決方案可能會幫助我。 – 2016-06-05 12:12:54