jpeg画像を開かずダウンロードしてもらうには
現在製作しているサイトで、写真素材(jpeg画像)を配布するのですが、対象のファイルをダウンロードしてもらう際に、「右クリックで保存してください」ではなく、クリックしたら保存のダイアログが出てくるようにしたいと思い、調べた結果、以下のページを見つけました。
http://code.nanigac.com/source/view/461
http://www.abe-tatsuya.com/web_prog/perl_cgi/content_disposition.php
上記サイトを参考にして(PHP)、思っていたことが実現できたのですが、1つ問題が発生しました。
ダウンロードしたjpegファイルが、「Windows画像とFAXビューア」で「プレビューできません」となってしまいます。
原因にお心当たりがあればご教示いただけると助かります。
・photoshopでは問題なく開けました。
・上記スクリプトを使わずにファイルを右クリックで保存した場合は問題なく画像がプレビューできます。
・ファイルを右クリックで保存した場合の方が、ファイルサイズが微妙に小さくなります。
現在、以下のように書いております。
$file_length = filesize($file);
header("Content-Type: image/jpeg");
header("Content-Disposition: attachment; filename=".basename($file));
header("Content-Length:$file_length");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
header("Pragma: private");
readfile ($file);
お礼
ありがとうございました。