我有一個函數,它接受作爲圖像提交的表單數據,然後驗證它並刪除舊圖像(如果已存在)。它目前這樣做並將圖像存儲在存儲文件夾中。使用Laravel將圖像路徑保存到數據庫
我現在試圖將圖像的URL保存到數據庫。我看過一些例子,他們沒有保存數據庫的路徑,但最好這樣做?
這裏是我的功能
public function postAvatarUpload(Request $request)
{
$this->validate($request, [
'image' => 'required|image|max:3000|mimes:jpeg,jpg,bmp,png',
]);
$user = Auth::user();
$usersname = $user->username;
$file = $request->file('image');
$filename = $usersname . '.jpg';
if (Storage::disk('local')->has($filename)) {
Storage::delete($filename);
}
Storage::disk('local')->put($filename, File::get($file));
$avatarPath = Storage::url($filename);
Auth::user()->update([
'image' => $avatarPath,
]);
return redirect()->route('profile.index',
['username' => Auth::user()->username]);
}
謝謝,我只是增加了干預,現在,我要保存所有的不同的文件類型是有一種簡單的方法來檢查,如果用戶的用戶名的文件時,無論擴展的存儲?所以我可以刪除一箇舊的PNG,例如,如果他們上傳一個JPG – Joey93