我有问题。我的laravel在共享主机上看不到图像。
我在〜/ domains / DOMAIN / public_html / APP中有公共文件夹,在〜/ domains / DOMAIN / FILES中有其他文件。
我的文件正在上传到〜/ domains / DOMAIN / FILES / storage / app / public / uploads / avatars
但在app中我无法看到这一点。
这是上传代码:
public function addAvatar(Request $request) { $this->validate($request, [ 'file' => 'required', ]);
$user = $this->model->getUserById(Auth::user()->id);
$file = $request->file('file')->store('/public/uploads/avatars');
$filename = $request->file('file')->hashName();
$extension = pathinfo($file, PATHINFO_EXTENSION);
if($extension == 'png' OR $extension == 'jpg' OR $extension == 'jpeg'){
$file = UserData::avatar($request, $filename, $user->id);
return view('user.settings', compact('user'));
}
else
{
$file = unlink($request->file('file'));
return view('user.settings.files', compact('user'))->with('message', 'nope');
}
}
你可以帮我做点什么吗?
答案 0 :(得分:0)
只需使用
->store('avatars') //and make it public
Storage::put('file.jpg', $contents, 'public');
在Laravel File Storage Docu中,有一些例子说明如何处理上传和存储
如果你想收到它们:
$contents = Storage::get('file.jpg');
//or just the url:
$url = Storage::url('file1.jpg');