-1
votes

Téléchargez le fichier et enregistrez-le avec le nom d'origine dans le dossier de stockage

Je veux enregistrer un fichier téléchargé avec le nom d'origine. Pour exampler, quand je télécharge web.jpg le nom de fichier dans mon dossier de stockage doit être web.jpg aussi.

J'ai déjà essayé de nombreuses méthodes et je ne sais toujours pas Savoir comment résoudre ce problème.

mon produitController xxx

mon index.blade.php xxx


0 commentaires

3 Réponses :


0
votes

Il vous manque l'extension du fichier, alors essayez ceci:

$picture = $file->getClientOriginalName() . '.' . $file->getClientOriginalExtension();
$file->move(public_path(), $picture);


2 commentaires

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 Classe getClientoriginalName () et vous verrez qu'il renvoie ce que vous attendez.



0
votes

Vous pouvez essayer File_Put_Contents () pour stocker le fichier.

file_put_contents ('/ chemin / sur stosée, fichier_get_contents (' http: //chart.googleapis.com/chart?chs=400x400&cht=QR&CHL=TEST '));


0 commentaires

0
votes

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">


0 commentaires