Je veux enregistrer un fichier téléchargé avec le nom d'origine. Pour exampler, quand je télécharge web.jpg strong> le nom de fichier dans mon dossier de stockage doit être web.jpg strong> aussi. J'ai déjà essayé de nombreuses méthodes et je ne sais toujours pas Savoir comment résoudre ce problème. P> mon produitController strong> p>
3 Réponses :
Il vous manque l'extension du fichier, alors essayez ceci:
$picture = $file->getClientOriginalName() . '.' . $file->getClientOriginalExtension(); $file->move(public_path(), $picture);
Ce n'est pas ce que je veux dire, je veux enregistrer le fichier téléchargé dans le dossier de stockage avec le nom d'origine, alors quand je télécharge télécharger un fichier comme web.jpg i get web.jpg dans mon dossier de stockage.my problem's quand je télécharge web.jpg i Obtenez B7FVASZ4E5ATIFHHLNPIC9DOPSA3BPCLTMHCVNKO.JPEG dans mon dossier de stockage
Ceci est le code que j'utilise dans mon projet et cela fonctionne parfaitement bien, télécharger web.jpg enregistre web.jpg dans le répertoire public. Votre nom semble être un MD5. Essayez de regarder la documentation du uploadfile code> Classe
getClientoriginalName () code> et vous verrez qu'il renvoie ce que vous attendez.
Vous pouvez essayer File_Put_Contents () pour stocker le fichier. P>
file_put_contents ('/ chemin / sur stosée, fichier_get_contents (' http: //chart.googleapis.com/chart?chs=400x400&cht=QR&CHL=TEST ')); P>
Je sais que nous sommes tous ici pour apprendre des autres. Je recommanderai même de changer votre code un peu pour la flexibilité. Laissez essayer les codes ci-dessous.
public function store(Request $request) { //let validate the image format; $this->validate($request,['image'=> 'mimes:jpeg,jpg,bmp,png',]; $file = $request->file('image'); // let request the file first if (isset($file)) { $originalname = $file->getClientOriginalName(); $file_extension = $file->getClientOriginalExtension(); $filename = $originalname.'.'.$file_extension; //Now let set the path where the image will be saved. if (!file_exists('upload/Images')) // if this path doesn't exist { mkdir(''upload/Images', 0777 , true); // create the path } $file->move(''upload/Images',$file_name); // save the file to this path }else{ //optional $file_name = 'NoFile.jpg'; // I always set a default image that can be used if the user doesn't have an photo } product::create([ 'name' => $request->name, 'id_kategori' => $request->kategori, 'quantity' => $request->quantity, 'price' => $request->price, 'slug' => $request->slug, 'image' => $filename, ]); return redirect()->route('produk.index'); } // In your index.blade.view // To be able to display the image in your view, use the code below: <td> <img src="{{ asset('upload/Images/'.$products->image) }}" > </td> DO NOT FORGET to include enctype="multipart/form-data" in your form like below: <form class="form-control" method="POST" action=" {{route('your_route')}}" enctype="multipart/form-data">