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,浏览器就会打开它。认为这可能会缓和然后将其保存为 blob。

于 2013-07-17T13:56:02.290 回答