Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.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
Laravel 在浏览器中显示不在web目录中且不可链接的文件_Laravel_Laravel 5_File Upload_Laravel 5.8_Document View - Fatal编程技术网

Laravel 在浏览器中显示不在web目录中且不可链接的文件

Laravel 在浏览器中显示不在web目录中且不可链接的文件,laravel,laravel-5,file-upload,laravel-5.8,document-view,Laravel,Laravel 5,File Upload,Laravel 5.8,Document View,我们使用的是LaravelV.5.8,我们的公共文件位于一个目录中,如 /www/public/pubfiles/myfile.php 我可以链接到这些没有问题。我们也有一个上传脚本,通过设计将文件放入 /uploads/nonlinkablefile 然后将路径和文件名等存储在数据库中。当有人单击链接检索这些文件时,脚本将获取该文件并将其作为下载返回 第二个选项中的文件以这种方式存储,因此无法链接或共享。我们可以检查用户对页面或文件的权限,看看他们是否可以下载 我现在想知道的是,我们是否可

我们使用的是LaravelV.5.8,我们的公共文件位于一个目录中,如

/www/public/pubfiles/myfile.php
我可以链接到这些没有问题。我们也有一个上传脚本,通过设计将文件放入

/uploads/nonlinkablefile
然后将路径和文件名等存储在数据库中。当有人单击链接检索这些文件时,脚本将获取该文件并将其作为下载返回

第二个选项中的文件以这种方式存储,因此无法链接或共享。我们可以检查用户对页面或文件的权限,看看他们是否可以下载

我现在想知道的是,我们是否可以进行这些检查,然后以某种方式在浏览器的新选项卡中显示文件(PDF moslty),而不是强制下载

由于该文件没有启用web的路径,因此我没有找到这样做的方法


谢谢。

您可以尝试使用
文件()
功能,而不是下载,请浏览器打开文件,即:

return response()->file('/uploads/nonlinkablefile.pdf');
您可以在中找到更多信息

显然,Web服务器应该可以访问存储文件的路径,但文件不需要位于
public
DocumentRoot
目录下