使用FuelPHP预览PDF文件

使用FuelPHP预览PDF文件,php,pdf,fuelphp,Php,Pdf,Fuelphp,我正在尝试使用和标记显示在FuelPHP中上载的PDF文件 注意:如果转到该页面,/upload/image?image_id=1将下载正确的pdf。但当它嵌入到我的浏览器中时,它是不可见的。我使用的是Chrome的最新版本34.0.1847.116 另一个注意事项是,如果pdf位于htdocs文件夹中,预览也会显示fine。此外,我还使用这种下载方法来显示图像,这与 这是我的休息控制器 <?php class Controller_Upload extends Controller_Re

我正在尝试使用
标记显示在FuelPHP中上载的PDF文件

注意:如果转到该页面,/upload/image?image_id=1将下载正确的pdf。但当它嵌入到我的浏览器中时,它是不可见的。我使用的是Chrome的最新版本34.0.1847.116

另一个注意事项是,如果pdf位于htdocs文件夹中,预览也会显示fine。此外,我还使用这种下载方法来显示图像,这与

这是我的休息控制器

<?php
class Controller_Upload extends Controller_Rest
{

    public function after($response) {
        parent::after($response);       
        return $this->response(json_encode($this->data));
    }

    public function get_image()
    {
        $image_id = Input::post("image_id");
        $file_name = (Input::get('image_name') != null) ? Input::get('image_name') : Model_Db_Storage::get_image($this->userid, $image_id);

        if($file_name)
        {
            $this->response->set_header('Content-Type', 'application/pdf');
            File::download(APPPATH.'/tmp/'.$file_name);
        }
        else
        {
            $this->data['image'] = $file_name;
            $this->data['response'] = 'Error Receipt not Found';
        }
    }
}
?>

HTML:


这看起来更像是一个HTML问题,而不是一个实际的FuelPHP问题,因为您说过,在浏览器中直接查看PDF时,它是有效的

我认为最好使用iframe标记

看这个

简单的例子是:

<iframe width="400" height="215" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="/upload/image?image_id=some_num"></iframe>

这是我提出的解决方案,我决定改为输出原始字节

我将HTMl代码改为iframe

<iframe src="/upload/image?image_id=1"></iframe>
<iframe src="/upload/image?image_id=1"></iframe>
$this->response->set_header('Content-Type', 'application/pdf');
//File::download(APPPATH.'/tmp/'.$file_name);
echo File::read(APPPATH.'/tmp/'.$file_name);
return new Response();