我想編輯Laravel中的博客表單。所有其他文本信息,如Title, Body
已成功編輯。但無法更新Image
。新圖像未上傳,圖像路徑設置爲C:\xampp\tmp\php2030.tmp
。從編輯表單更新圖片Laravel
我的編輯控制器。
public function update(Request $request, $id)
{
$requestData = $request->all();
$post = Post::findOrFail($id);
$post->update($requestData);
if ($request->hasFile('image'))
{
$file = $request->file('image');
$fileNameExt = $request->file('image')->getClientOriginalName();
$fileNameForm = str_replace(' ', '_', $fileNameExt);
$fileName = pathinfo($fileNameForm, PATHINFO_FILENAME);
$fileExt = $request->file('image')->getClientOriginalExtension();
$fileNameToStore = $fileName.'_'.time().'.'.$fileExt;
$pathToStore = public_path('media');
Image::make($file)->resize(600, 531)->save($pathToStore . DIRECTORY_SEPARATOR. $fileNameToStore);
$image = '/images/'.$fileNameToStore;
$post->save();
}
session()->flash('message', 'Successfully updated the post');
return redirect('/');
}
它有什麼問題?
我更新的更新方法,像我一樣的存儲方法,但它仍然保存圖像路徑爲C:\ XAMPP \ tmp目錄\ php2030.tmp和圖像也沒有上傳到目錄。 – universal
您仍然保存到數據庫的臨時路徑。我附上了一個代碼示例到我的答案給你一個粗略的想法應該如何工作,基本上我正在更新'$ requestData'與新的圖像路徑。希望這可以幫助! – Tudor