Je veux éditer le formulaire de blog dans Laravel. Toutes les autres informations textuelles telles que Title, Body
ont été modifiées avec succès. Mais Image
n'a pas pu être mis à jour. La nouvelle image n'est pas téléchargée et le chemin de l'image est C:\xampp\tmp\php2030.tmp
.Mettre à jour l'image depuis le formulaire d'édition Laravel
Mon contrôleur pour l'édition.
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('/');
}
Qu'est-ce qui ne va pas?
I mis à jour la méthode de mise à jour comme je l'ai fait pour la méthode du magasin, mais il permet d'économiser encore chemin de l'image comme C: \ xampp \ tmp \ php2030.tmp et de l'image n'est pas non plus téléchargé dans le répertoire. – universal
Vous continuez à enregistrer le chemin temporaire vers la base de données. J'ai attaché un échantillon de code à ma réponse pour vous donner une idée approximative de la façon dont cela devrait fonctionner, je suis en train de mettre '$ requestData' à jour avec le nouveau chemin de l'image. J'espère que cela t'aides! – Tudor