1

我们正在使用 Laravel v.5.8 并将我们的公共文件放在一个目录中,比如......

/www/public/pubfiles/myfile.php

我可以毫无问题地链接到这些。我们还有一个上传脚本,通过设计将文件放入...

/uploads/nonlinkablefile

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

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

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

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

谢谢。

4

1 回答 1

1

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

return response()->file('/uploads/nonlinkablefile.pdf');

您可以在官方文档中找到更多信息。

显然,存储文件的路径应该可以被网络服务器访问,但文件不需要在publicorDocumentRoot目录下。

于 2019-08-16T22:23:17.183 回答