J'essaie donc de sauvegarder l'image téléchargée dans un dossier laravel/public et de renvoyer src afin de donner un chemin vers l'emplacement où le fichier a été enregistré. Cependant, rien ne se passe après que j'ai choisi une image et que je n'ai aucune erreur.
public function testing(Request $request) {
if(Input::file())
{
$image = Input::file('img');
$filename = time() . '.' . $image->getClientOriginalExtension();
$path = public_path('images/' . $filename);
Image::make($image->getRealPath())->resize(200, 200)->save($path);
$user->image = $filename;
$user->save();
}
}
<form action="{{ action('BuilderController@testing') }}" enctype="multipart/form-data" role="form" method="POST">
<input id="img" class="form-control filestyle margin images" data-input="false" type="file" data-buttonText="Upload Logo" data-size="sm" data-badge="false" onchange="uploadImage();" />
</form>
Essayez avec la méthode move()
?
$filename = time().'.'.request()->img->getClientOriginalExtension();
request()->img->move(public_path('images'), $filename);
$user->image=$filename;
$user->save();
Tout d'abord, vous n'avez pas ajouté le nom d'entrée du fichier
if(Input::file('inputname')){
//
}
Deuxièmement,
Pour laravel-5.3 Vous pouvez déterminer si un fichier est présent sur la demande à l'aide de la méthode hasFile.
if ($request->hasFile('photo')) {
//
}
Et vous pouvez récupérer le fichier téléchargé
$file = $request->file('photo');
Vous pouvez trouver la documentation complète ici
vous devez ajouter name="img"
sur votre formulaire.
Vous pouvez facilement télécharger une image dans un dossier public comme suit:
$image = $request->file('image');
$input['imagename'] = time().'.'.$image->getClientOriginalExtension();
$destinationPath = public_path('/thumbnail');
$img = Image::make($image->getRealPath());
$img->resize(100, 100, function ($constraint) {
$constraint->aspectRatio();
})->save($destinationPath.'/'.$input['imagename']);
/*After Resize Add this Code to Upload Image*/
$destinationPath = public_path('/');
$image->move($destinationPath, $input['imagename']);
Et aussi vous pouvez le vérifier ici pour redimensionner et télécharger une image: