Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在浏览器中查看pdf流_Php_Laravel_Laravel 5.8 - Fatal编程技术网

Php 在浏览器中查看pdf流

Php 在浏览器中查看pdf流,php,laravel,laravel-5.8,Php,Laravel,Laravel 5.8,我有一个PDF文件要在浏览器选项卡中查看。我知道我可以直接使用文件链接来显示它,但我想读取变量中的文件内容并使用变量来显示文件。原因是,我想在读取变量后立即删除文件 PHP: 阿贾克斯: 我得到的结果是二进制内容。有人能帮忙吗,我的代码出了什么问题 更新: 将我的ajax代码更改为下面的代码,现在我得到了一个空白的pdf页面 $('body').on('click', '.printInvoice', function () { var purchase_id = $(this).dat

我有一个PDF文件要在浏览器选项卡中查看。我知道我可以直接使用文件链接来显示它,但我想读取变量中的文件内容并使用变量来显示文件。原因是,我想在读取变量后立即删除文件

PHP:

阿贾克斯:

我得到的结果是二进制内容。有人能帮忙吗,我的代码出了什么问题

更新: 将我的ajax代码更改为下面的代码,现在我得到了一个空白的pdf页面

$('body').on('click', '.printInvoice', function () {
   var purchase_id = $(this).data("id");
   $.ajax({
     type: "GET",
     url: "/purchases/print" + '/' + purchase_id,
     success: function (data) {
        var blob = new Blob([data], {type: 'application/pdf'});
        var blobURL = window.URL.createObjectURL(blob);
        window.open(blobURL,'_blank');
        },
     error: function (data) {
        alert("Unable to Print !!!");
        }
});

Laravel实际上有内置的返回功能。这将自动设置正确的标题,以便在浏览器中显示文件

return response()->file($tmppdf);
也许:

return Response::make($fdata, 200, [
    'Content-Type' => 'application/pdf',
    'Content-Disposition' => 'inline; filename="'.$tmppdf.'"'
]);

您是从控制器函数返回php代码吗?是的,它是一个laravel 5.8 controllerIt,但不能解决我的问题,因为它是从文件加载的,我无法删除该文件。我想将文件内容加载到变量并删除该文件。为什么不先存储
response()->file($tmppdf)
的响应,然后删除该文件,然后返回已存储的响应?e、 g.
$fileResponse=response()->file($tmppdf);/*删除文件的代码位于此处*/return$fileResponse您可以帮助我如何将其转换为Ajax成功调用吗。如我的问题更新中所述;我试图将“window.open(data,“'u blank');”放在成功部分,但在这种情况下,我得到了一个空白页面。
return response()->file($tmppdf);
return Response::make($fdata, 200, [
    'Content-Type' => 'application/pdf',
    'Content-Disposition' => 'inline; filename="'.$tmppdf.'"'
]);