クリック時にブラウザに画像ファイルを強制的にダウンロードさせる
問題:
ユーザーはよく次のような問題に直面します。ブラウザから画像ファイルをダウンロードする必要があります。ただし、通常、画像をクリックすると、同じタブまたはウィンドウ内でのみ画像が開きます。これは、ユーザーにファイルの保存を求める Excel シートをクリックしたときの動作とは異なります。
解決策:
クライアント側プログラミングを使用してこの機能を実装するには、次の 2 段階のプロセスが必要です:
「download」属性をリンクに追加します:
HTML5 では、画像 URL を指すアンカー タグに追加できる「download」属性が導入されています。この属性は、リンクされたリソースをファイルとしてダウンロードする必要があることを準拠ブラウザに通知します。
クリック イベントの処理:
ブラウザの同じタブで画像を開くデフォルトのアクションでは、画像リンクを含むアンカー タグの「クリック」イベントを処理します。このイベント ハンドラーを使用して、ユーザーのコンピューターに画像を保存する関数を呼び出します。
実装例:
提供されたコードでは、 「click」イベント ハンドラーがドキュメントに付加され、クリックされた要素がテキスト「Image」を含むアンカー タグであるかどうかをチェックします。存在する場合は、saveImageAs1 関数を呼び出します。
Excel シートのダウンロード動作:
Excel シートでは、ブラウザーは自動的に「Content-Disposition」ヘッダーを「attachment」に設定し、ユーザーにファイルの保存を求めるようブラウザーに指示します。バックエンドでこのヘッダーをシミュレートすることで、画像ファイルに対して同様の動作を実現できます。ただし、これはサーバー側の実装であり、クライアント側のプログラミングのみの範囲外であることに注意することが重要です。
以上がクリック時にブラウザに画像ファイルを強制的にダウンロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。