【发布时间】:2015-02-20 10:44:51
【问题描述】:
在 Laravel 中,我将上传的文件夹保存在我的公共文件夹的目录中。我想找到一种从文件对象本身获取此文件的公共 url 的方法。
例如$file 是 Symfony\Component\HttpFoundation\File\File 的一个实例。所以可以做$file->getRealPath(),它返回类似C:\xampp\htdocs\myapp\public\uploads\2015\2\test.pdf的东西。
如何为此生成公共 url?我尝试使用asset($file->getRealPath()); 但这给出了类似http://localhost/myapp/C:\xampp\htdocs\myapp\public\uploads\2015\2\06-12-2014-2.pdf 的东西。 IE。我需要删除公用文件夹之前的路径部分,然后再将其提供给asset()。
我想过做类似的事情
asset(str_replace(public_path(), '' , $file->getRealPath()));
(有效,并且应该继续在环境之间工作)但我希望有更优雅的东西。
【问题讨论】: