Bestand en afbeelding uploaden en verwerken Laravel

Definieer het uploadveld in het formulier

Voeg eerst een <input type="file"> veld toe aan het HTML-formulier zodat gebruikers een bestand of afbeelding kunnen selecteren om te uploaden.

<form method="POST" action="{{ route('upload') }}" enctype="multipart/form-data">  
    @csrf  
    <input type="file" name="file">  
    <button type="submit">Upload</button>  
</form>  

 

Behandel het uploadverzoek

In een Laravel controller kunt u het uploadverzoek in een methode afhandelen. Gebruik het Illuminate\Http\Request object om toegang te krijgen tot het geüploade bestand en de nodige bewerkingen uit te voeren.

use Illuminate\Http\Request;  
  
public function upload(Request $request)  
{  
    if($request->hasFile('file')) {  
        $file = $request->file('file');  
        // Handle the file here  
    }  
}  

 

Sla het bestand op

Laravel biedt een store methode om het geüploade bestand op te slaan. Roep deze methode gewoon aan op het bestandsobject en geef het gewenste opslagpad op.

$path = $file->store('uploads');

 

Behandel de afbeelding

Als u een afbeelding moet verwerken, zoals formaat wijzigen, bijsnijden of filters toepassen, kunt u een beeldverwerkingsbibliotheek zoals Intervention Image gebruiken. Installeer eerst het Intervention Image-pakket via Composer:

composer require intervention/image

Vervolgens kunt u de methoden van de bibliotheek gebruiken om de afbeelding te verwerken.

use Intervention\Image\Facades\Image;  
  
public function upload(Request $request)  
{  
    if($request->hasFile('file')) {  
        $file = $request->file('file');  
        $image = Image::make($file);  
        // Handle the image here  
    }  
}  

 

Geef het geüploade bestand en de afbeelding weer

Ten slotte kunt u het geüploade bestand en de afbeelding weergeven in de gebruikersinterface. Gebruik Laravel 's helper-methoden om openbare URL's voor het opgeslagen bestand en de afbeelding te genereren en gebruik deze in HTML of CSS.

$url = asset('storage/'. $path);

 

U kunt de $url variabele in HTML of CSS gebruiken om het geüploade bestand of de geüploade afbeelding weer te geven.

 

Door deze stappen te volgen en gebruik te maken Laravel van de ingebouwde functies, kunt u eenvoudig bestanden en afbeeldingen in uw Laravel toepassing uploaden en verwerken.