- PR -

PDFファイルをIEの「ファイルのダウンロード」画面から「開く」

1
投稿者投稿内容
ぺーこ
会議室デビュー日: 2004/11/11
投稿数: 2
投稿日時: 2004-11-11 17:18
PDFをブラウザからダウンロードする機能を作成しております。

実はPHPで開発しており、ここで質問すべきではないのですが、
過去ログに「PDFファイルのファイルダウンロードについて」というスレッドがありましたので、
何か情報がいただければと思い、書き込みいたしました。

問題となっているのは、
IEの「ファイルのダウンロード」ポップアップ画面において「開く」を押下した場合に、
Adobe Readerは起動するが、
「この文書を開くときにエラーが発生しました。このファイルが見つかりません。」メッセージが表示され、
PDFを開けないということです。

↓PHPソース
-------------------------------------------------------------------------
//●変数の内容
//$filename:ダイアログに表示するファイル名
//$len:$bufのサイズ
//$buf:PDFファイルデータ

//●HTML上にPDF出力ヘッダを設定
header("Content-disposition: attachment; filename=¥"" . $filename . "¥"");
header("Content-Length: " . $len);
header("Content-type: application/pdf");
//●PDF出力
print $buf;
-------------------------------------------------------------------------

以下のことを試した結果から、

1.「保存」を押下した場合はローカルに正しく保存できる。
2.Netscapeでは「標準のアプリケーション(AcroExch)で開く」を選択した場合は表示される。
3.CSVファイルの場合に「開く」を押下するとxxx[1].csvというファイル名で表示される。
 (CSVの場合、Content-typeは application/x-csvとして試しました)

原因は、ファイル名に"[1]"が付加された状態でインターネット一時ファイルとして
保存されているが、Adobe Readerが対応できていないから(?)と考えていますが、
見当違いでしょうか?また、対応方法はございますでしょうか?

"Insider.NET 会議室"にはふさわしくない質問であり、
申し訳ないのですが、よろしくお願いいたします。

OS:Win2000
Adobe Reader:6.0.1
IE:6.0.2
Netscape:7.1
Ten.
ベテラン
会議室デビュー日: 2003/04/03
投稿数: 67
投稿日時: 2004-11-11 20:13
こちらのスレッドの結論と同じことでは?
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=16447&forum=7&5
ぺーこ
会議室デビュー日: 2004/11/11
投稿数: 2
投稿日時: 2004-11-15 13:46
Ten.さん、返信が遅れてしまい本当に申し訳ありません。

Ten.さんのレスのとおり↓が原因でした。
http://support.microsoft.com/default.aspx?scid=kb;ja;436605

Cache-Control: no-cacheの設定をせずにダウンロードを実行すると
PDFファイルを開くことができました。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)