クリックするとjpgファイルをダウンロードするボタンを作成しています。私がやっていることは、img ファイルへのハイパーリンクにリダイレクトし、以下のコードを使用して content-type ヘッダーと content-disposition ヘッダーを設定することです
header('Content-Description: File Transfer');
header('Content-Type: image/jpeg' );
header('Content-Length: ' . filesize($fullpath));
header('Content-Disposition: attachment; filename=' . basename($filename));
readfile($fullpath);
$fullpath は jpg ファイルの物理的な場所です
http接続を使用した私の開発Webサイトのchrome IEとfirefoxで正常に動作します。
しかし、https接続を使用するライブWebサイトを配置すると、IEとfirefoxは引き続き正常に機能しますが、chromeが機能する場合があり、jpgファイルをダウンロードする代わりに、文字列が乱れたページが表示される場合があります. おそらくchromeはjpgファイルのMIMEタイプを認識せず、プレーンテキストとして扱っていたと思います。これはかなり奇妙です (jpg ファイルを認識してダウンロードできる場合もあれば、そうでない場合もあります)。誰かが以前に同じ問題を抱えていましたか、またはこれを修正する考えがありますか?