我按照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
直接返回正确的链接,或者我是否必须手动执行此操作?
答案 0 :(得分:0)
您可以使用Laravel 4中的public_path()
或Laravel 3中的path('public')
为自定义路径创建辅助函数。