我想编辑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