Laravel - Téléchargement de fichiers

Le téléchargement de fichiers dans Laravel est très simple. Tout ce que nous devons faire est de créer un fichier de vue dans lequel un utilisateur peut sélectionner un fichier à télécharger et un contrôleur où les fichiers téléchargés seront traités.

Dans un fichier de vue, nous devons générer une entrée de fichier en ajoutant la ligne de code suivante.

Form::file('file_name');

Dans Form :: open (), nous devons ajouter ‘files’=>’true’comme indiqué ci-dessous. Cela facilite le téléchargement du formulaire en plusieurs parties.

Form::open(array('url' => '/uploadfile','files'=>'true'));

Exemple

Step 1 - Créez un fichier de vue appelé resources/views/uploadfile.php et copiez le code suivant dans ce fichier.

resources/views/uploadfile.php

<html>
   <body>
      <?php
         echo Form::open(array('url' => '/uploadfile','files'=>'true'));
         echo 'Select the file to upload.';
         echo Form::file('image');
         echo Form::submit('Upload File');
         echo Form::close();
      ?>
   </body>
</html>

Step 2 - Créez un contrôleur appelé UploadFileController en exécutant la commande suivante.

php artisan make:controller UploadFileController --plain

Step 3 - Après une exécution réussie, vous recevrez la sortie suivante -

Step 4 - Copiez le code suivant dans

app/Http/Controllers/UploadFileController.php fichier.

app/Http/Controllers/UploadFileController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class UploadFileController extends Controller {
   public function index() {
      return view('uploadfile');
   }
   public function showUploadFile(Request $request) {
      $file = $request->file('image');
   
      //Display File Name
      echo 'File Name: '.$file->getClientOriginalName();
      echo '<br>';
   
      //Display File Extension
      echo 'File Extension: '.$file->getClientOriginalExtension();
      echo '<br>';
   
      //Display File Real Path
      echo 'File Real Path: '.$file->getRealPath();
      echo '<br>';
   
      //Display File Size
      echo 'File Size: '.$file->getSize();
      echo '<br>';
   
      //Display File Mime Type
      echo 'File Mime Type: '.$file->getMimeType();
   
      //Move Uploaded File
      $destinationPath = 'uploads';
      $file->move($destinationPath,$file->getClientOriginalName());
   }
}

Step 5 - Ajoutez les lignes suivantes dans app/Http/routes.php.

app/Http/routes.php

Route::get('/uploadfile','[email protected]');
Route::post('/uploadfile','[email protected]');

Step 6 - Visitez l'URL suivante pour tester la fonctionnalité de téléchargement de fichier.

http://localhost:8000/uploadfile

Step 7 - Vous recevrez une invite comme indiqué dans l'image suivante.