如何在Laravel 5中使用Storage Facade获取文件路径?

daviestar:

我一直在尝试将新的Flysystem与Laravel 5集成在一起。我正在将“本地化”路径存储到数据库,并让Storage Facade来完成路径。例如我存储screenshots/1.jpg和使用

Storage::disk('local')->get('screenshots/1.jpg')

要么

Storage::disk('s3')->get('screenshots/1.jpg') 

我可以在不同的磁盘上检索相同的文件。

get 检索文件内容,但我希望在我的视图中使用它,如下所示:

<img src="{{ Storage::path('screenshots/1.jpg') }}" />

但是路径,或者任何能够检索完整路径的东西都不可用(据我所知)。那么如何返回完整路径?或者,我想知道这是否是设计使然?如果是这样,为什么我不应该获得完整的路径?还是我完全以错误的方式来做这件事?

佩雷·琼·马托雷尔:

编辑:L5.2 +的解决方案

有一个更好,更直接的解决方案。

使用Storage::url($filename)得到给定文件的完整路径/ URL。请注意,您需要在中将设置S3为存储文件系统config/filesystems.php'default' => 's3'

当然,您也可以Storage::disk('s3')->url($filename)以相同的方式进行操作。

如您所见,config/filesystems.php还有一个'cloud' => 's3'定义的参数,它指向Cloud文件系统。如果您想保留本地服务器中的存储文件夹,但在云使用中检索/存储一些文件,该文件Storage::cloud()也具有相同的文件系统方法,即Storage::cloud()->url($filename)

Laravel文档没有提到此方法,但是如果您想了解更多有关此方法的信息,可以在此处查看其源代码

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在windows中获取文件路径

如何在Laravel中设置文件路径?

如何在Swing中使用拖放来获取文件路径?

如何在Android中使用multiselectgridView获取选定文件的路径?

Laravel 5如何在文件列表中使用分页?

如何在Android中获取PDF文件的实际文件路径?

如何在flutter中获取我的.db文件或文件路径?

如何使用Laravel的Storage Facade存储多个上传的文件

如何在Laravel Form Facade中使用关系值?

如何在Laravel中使用Scss文件

如何在将文件上传到 django 中的 azure-storage 时获取文件路径

如何使用CMD从文件路径获取文件夹路径

如何在Android 4.4中的onActivityResult中获取文件路径

如何在PHP中获取文件的URL路径

如何在Servlet程序中获取正确的文件路径?

如何在Dart / Flutter中获取定义类的文件的路径?

如何在Java中获取文件的绝对路径

如何在Python中获取当前执行文件的路径?

如何在Python中获取绝对文件路径

如何在Java中获取文件名和路径?

如何在Spring中获取访问配置文件的路径

如何在Python中获取类的文件路径?

如何在Java JAR文件中获取资源的路径

如何在python中获取特定文件的路径

如何在JSP中获取文件上传的完整路径?

如何在flutter中获取文件的绝对路径

如何在战争中获取当前的jsp文件路径?

如何在Windows 10中获取文件的路径?

如何在 Maya 的 MEL 中获取拖放文件的路径