2

mysql データベースに保存されている pdf ファイルを取得して、ブラウザーに表示しようとしています。表示ボタンをクリックすると、エラーが表示されます: failed to load pdf document

私のコードは次のとおりです。

 $query=  mysql_query("SELECT uploaded_file FROM pdf_file where id='2'");
 header('Content-Description: File Transfer');
 header("Content-type: application/pdf");
 header('Content-disposition:inline; filename="'.$query.'"');
 @read($query);

上記のコードでは、表示ボタンがクリックされると、ファイル ID が渡されます。

4

2 に答える 2

2

結果セットを使用していません....

$result=  mysql_query("SELECT uploaded_file FROM pdf_file where id='2'");
$row=mysql_fetch_row($result);
$file = $row['uploaded_file'];
header("Content-type: application/pdf");
@read($file);

また、コンテンツ処理をインラインで使用する理由がわかりません。インラインで表示するには、次のようにします。

header('Pragma: public');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Content-Type: application/pdf');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.filesize($file));
@read($file);
于 2013-07-17T13:59:21.630 に答える
0

それでは、実際の FILE をディレクトリに保存し、その場所をデータベース内のファイルに保存してみませんか。次に、データベースからファイル参照を呼び出すだけで、ブラウザーに adobe がインストールされている場合、ブラウザーはそれを開きます。それを緩和してから、ブロブとして保存すると考えてください。

于 2013-07-17T13:56:02.290 に答える