Laravel:获取正确的公共上传路径

时间:2018-03-06 10:05:02

标签: php laravel-5 image-uploading

我按照docs

的建议使用
$path = $request->file('avatar')->store('public/avatars');

存储我的头像。在文档中提到了以下内容:

  

默认情况下,store方法将生成一个唯一的ID作为   文件名。 store方法将返回文件的路径   所以你可以在你的路径中存储路径,包括生成的文件名   数据库中。

现在$path将类似于

public/pictures/uQT3sGS1mTQQXbB5vHwCYUiELtr2XAbl7cI08Mme.png 

但是图片的实际网址是

/storage/pictures/uQT3sGS1mTQQXbB5vHwCYUiELtr2XAbl7cI08Mme.png

在文档中,它声明我可以将$path直接存储在数据库中。但是我认为,必须手动转换

public/pictures/uQT3sGS1mTQQXbB5vHwCYUiELtr2XAbl7cI08Mme.png

pictures/uQT3sGS1mTQQXbB5vHwCYUiELtr2XAbl7cI08Mme.png

以便我可以在以后使用

<img src="/storage/{{ $user->avatar }}"> 

是否有任何Laravel选项,以便store直接返回正确的链接,或者我是否必须手动执行此操作?

1 个答案:

答案 0 :(得分:0)

您可以使用Laravel 4中的public_path()或Laravel 3中的path('public')为自定义路径创建辅助函数。