私のコード:
<div>
<a href="/images/test-201.gif" class="download">Download</a>
</div>
私がする必要があるのは、ダウンロードをクリックしたときです。この画像を名前を付けて保存のような新しいウィンドウが開くはずです。HTMLまたはjavascriptを使用してこれを行う必要があります。
つまり、javascript と html のみを使用してこれを達成することはできません。
サーバー側の言語 (php など) がなければ、ファイルのダウンロードを強制することはできません。サーバーは、適切な応答ヘッダーとともに画像をクライアントに送信する必要があります
短い答え:それは不可能です。バックエンド (サーバー) に POST し、ヘッダーを使用してサーバーから応答する必要がありますContent-disposition: attachment
。
また、これはAJAX
応答として機能しないため、次のようなことをする必要があります
document.location = 'download_image.php?file=test-201.gif';
上記のように、正しいヘッダーでダウンロードに応答します。
私の知る限り、これは JavaScript 経由でダウンロードをトリガーする唯一のクロスブラウザー ソリューションです。
ダウンロードと呼ばれる属性を使用してこれを行うことができます。属性 download="test image" をアンカー タグに追加するだけです。"test image" は、イメージに付けたい任意の名前にすることができます。構文は次のとおりです。
<a href="/images/test-201.gif" class="download" download="test image">Download</a>
JavaScript のみを使用してこれを実現することはできません。
サーバー側の言語 (php など) がなければ、これを行うことはできません。サーバーは画像をクライアントに送信する必要があります。