2016-09-24 23 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); 

しかし、そのまだ機能していません。しかし、私はこれだけを聞いた、

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

がうまくいけば、このことができます:私は、画像をブラウザの代わりに

答えて

1

あなたのHTMLでこの線に沿って何かをしようとして開かれ、クリックしてください特定のブラウザで動作します。

*注 - 私はあなたと同じようにそれをする必要があると思う、私はそれを持っているように、ちょうど場所の所有者を置き換えて! MDN Reference

+0

download」私はこれをFirefoxで試しました。それは仕事をしなかった –

+0

'href =" insert/path /(あなたがそれを保存したい場所) "'これはどういう意味ですか?私の画像hrefは 'https://farm8.staticflickr.com/7555/29856053076_43 ccee f1b6_o.jpg' –

+0

ありがとうございました。私はいくつかの実用的な解決策には絶望的です。あなたは私のコメントを明確にすることができます –

1

この属性は、存在する場合、著者はリンク上のユーザ クリックが、彼らがするように求められますときようにリソースをダウンロードするために使用される ハイパーリンクを意図していることを示しそれをローカルファイルとして保存します。 属性に値がある場合は、ユーザーが リンクをクリックしたときに表示される保存プロンプトで、事前に入力された ファイル名として使用されます(実際には のファイルを保存する前に名前を変更できます)。 )。許容値には制限がありませんが(/と\ は下線に変換され、特定のパスヒントは無効になりますが)、 ファイルシステムではファイル名にはどのような句読点がサポートされているかに関する制限があります。 は、それに応じてファイル名を調整する可能性があります。

download属性はFirefoxではサポートされていません。

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>

注: Google Chromeで、あなたが使用することができますが、JavaScriptでChromeを、使用している場合

しかし、あなたはこのような何かを試みることができますdownload属性をダウンロードするURLを設定しないでください。FILENAMEがどこにある

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

例:

<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(" download "、" test.jpg ");' href.setAttribute( "download"、 "download")とどのように違うのですか? test.jpgとダウンロードのみ、どのような違いがありますか –

0

は、そうでない場合は、ブラウザ自体に表示されるファイルをダウンロードするには、サーバーから次のレスポンスヘッダを送信しますダウンロード時に必要なファイルの名前。