2013-10-29 22 views
7

リンクのクリックで画像のダウンロードを開始したいと思います。jqueryを使用してリンクをクリックするとブラウザが画像をダウンロードする

<a id="downloadImage" href="imagepath">Click here to download</a> 

私たちはHTML5(Force a browser to save file as after clicking link)のダウンロードの属性を使用することができますが、私はそれがブラウザの古いバージョンでは動作していないだろうとして、それを使用したくない知っています。 私はここでメソッドを試しました: Download File Using Javascript/jQuery しかし、それはiframeで画像を開きます。

誰かがjqueryを使用してブラウザのリンクをクリックして強制的に画像をダウンロードするのを助けることができますか?

+0

をご確認ください。どのようなサーバーサイドの技術を使用していますか? –

+0

[ユーザーがブラウザウィンドウでファイルを開くのではなく、hrefリンクからファイルをダウンロードするように強制する方法はありますか?](http://stackoverflow.com/questions/3841578/is-there-a –

+0

@NikosParaskevopoulosクライアントサイドスクリプティングのみを使用してダウンロードしたいと思っています... FYI we-only Asp.Netを使用しています – Maninder

答えて

7

私が知る限り、この問題のクライアント側のクロスブラウザソリューションはありません(jQueryや他のUIツールキットを使用しても問題ありません)。あなたがファイルをダウンロードするには、ブラウザを起動するために行う必要があることは、サーバーの応答にいくつかのHTTPヘッダを追加することです:

Content-Type: application/octet-stream 
Content-Disposition: attachment; filename=image.jpg 

Thisポストもあなたのために役立つかもしれません。完全にブラウザ間ではサポートされていないが

+0

どうすればasp.netでこれを行うことができますか? – Maninder

+0

@Maninder asp.netのヘッダーを追加するための公式ドキュメント:http://msdn.microsoft.com/en-us/library/ms524327(v=vs.90).aspx – Vadim

+0

http://css-tricks.com/スニペット/ htaccess/force-files-to-download-in-browser / – honzajde

5

あなたがサポートされていないブラウザのために/フォールバックをサポートするために modernizrを使用することができ、ダウンロード属性を使用することができます。サポートされているブラウザについては

、私は、これはコンテンツディスポジションHTTPヘッダーを使用して、サーバーから解決することができます*と思います* http://caniuse.com/#feat=download

<a href="/path/to/image.jpg" title="ImageName" download="ImageName" > 
    <img src="/path/to/image.jpg" alt="ImageName"> 
</a> 
関連する問題