0

Web上の画像へのURLがあるとしましょう。言いましょう... URLは「http://hd.wallpaperswide.com/thumbs/abstract_crystal_structure-t2.jpg」です

ユーザーがダウンロードボタンを押すと、画像がダウンロードされます。

私はこれを試しました..

window.location.href = Link;

ただし、ブラウザで画像を開くだけの場合もあります。期待どおりにダウンロードが提供される場合もあります。

達成する方法..

4

4 に答える 4

1

HTML5 / ES5ブラウザーを想定すると、要素のダウンロード属性を利用できます。<a>

  1. のダウンロード属性を<a>目的のファイル名に設定します。
  2. hrefを画像の場所に設定します。
  3. それをクリックすることをシミュレートします。

すでに<a>ダウンロードボタンとしてを使用している場合は、クリックをシミュレートする必要はなく、その要素を使用するだけです。

詳細については、ここで私の回答を参照してください。直接リンクがあるため、dataURIの処理を行う必要がないことを忘れないでください。

于 2013-02-04T04:04:46.107 に答える
1

これを行う唯一の方法はContent-Disposition、サーバー側のヘッダーを使用することです。

Content-Disposition: attachment; filename="somefile.jpg"

JavaScript でこの動作を強制することはできません。(また、ヘッダーがある場合でも、このコントロールがあることに 100% 依存することはできませんContent-Disposition。サポートはブラウザーによって異なります。)

于 2013-02-04T03:29:24.993 に答える
0

ダウンロードの速度を犠牲にしても構わない場合は、プロキシとして機能するサーバー側スクリプトを作成できます。これにより、ファイルがサーバーにダウンロードされ、適切なヘッダー ( Content-Disposition: attachment)ブラッドの答えで述べたように。ファイル自体にリンクする代わりに、自分のサーバーの「ゲートウェイ」にリンクします。正確な実装は、インフラストラクチャと、使用する言語/ライブラリによって異なります。

このアプローチには多くの反対意見があり (責任の観点から、セキュリティの観点から、パフォーマンスの観点から)、代替手段がない場合を除き、お勧めしません。

于 2013-02-04T03:44:36.973 に答える
0

Flash に頼るつもりなら、このライブラリが問題を解決してくれるかもしれません。

https://github.com/dcneiner/Downloadify

于 2013-02-04T03:36:39.423 に答える