我们正在使用Laravelv.5.8,并将我们的公共文件放在类似...
/www/public/pubfiles/myfile.php
我可以毫无问题地链接到这些。我们还有一个上传脚本,通过设计将文件放入...
/uploads/nonlinkablefile
然后将路径和文件名等存储在数据库中。当有人单击链接以检索这些文件时,脚本会获取该文件并将其作为下载返回。
第二个选项中的文件以这种方式存储,因此无法链接或共享。我们能够检查页面上或直接在文件上的用户权限,以查看他们是否应该能够下载。
我现在想知道的是,我们是否可以进行这些检查,然后以某种方式在浏览器的新选项卡中显示文件(PDF moslty(,而不是强制下载。
由于该文件没有启用 Web 的路径,因此我找不到这样做的方法。
谢谢。
您可以尝试使用file()
函数,而不是下载要求浏览器打开文件,即:
return response()->file('/uploads/nonlinkablefile.pdf');
您可以在官方文档中找到更多信息。
显然,存储文件的路径应该可由Web服务器访问,但文件不需要位于public
或DocumentRoot
目录下。