Ich möchte das Blog-Formular in Laravel bearbeiten. Alle anderen Textinformationen wie Title, Body
werden erfolgreich bearbeitet. Aber Image
konnte nicht aktualisiert werden. Ein neues Bild wurde nicht hochgeladen und der Bildpfad wurde auf C:\xampp\tmp\php2030.tmp
eingestellt.Bild aus Bearbeitungsformular aktualisieren Laravel
Mein Controller zum Bearbeiten.
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('/');
}
Was ist daran falsch?
I Update-Methode aktualisiert, wie ich für den Shop-Methode tat, aber es spart Standbild als Pfad C: \ xampp \ tmp \ php2030.tmp und Bild wird auch nicht in das Verzeichnis hochgeladen. – universal
Sie speichern immer noch den temporären Pfad zur DB. Ich fügte ein Code-Sample an meine Antwort an, um Ihnen eine grobe Vorstellung davon zu geben, wie es funktionieren sollte. Im Grunde aktualisiere ich '$ requestData' mit dem neuen Image-Pfad. Hoffe das hilft! – Tudor