Nahrajte a zpracujte soubor a obrázek Laravel

Ve formuláři definujte pole pro nahrávání

Nejprve přidejte <input type="file"> do formuláře HTML pole, které uživatelům umožní vybrat soubor nebo obrázek pro nahrání.

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

 

Zpracovat požadavek na nahrání

V Laravel řadiči můžete zpracovat požadavek na upload metodou. Použijte Illuminate\Http\Request objekt pro přístup k nahranému souboru a proveďte nezbytné manipulační operace.

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

 

Uložte soubor

Laravel poskytuje store způsob uložení nahraného souboru. Jednoduše zavolejte tuto metodu na objekt souboru a zadejte požadovanou cestu úložiště.

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

 

Manipulujte s obrázkem

Pokud potřebujete zpracovat obrázek, jako je změna velikosti, oříznutí nebo použití filtrů, můžete použít knihovnu pro zpracování obrázků, jako je Intervenční obrázek. Nejprve nainstalujte balíček Intervention Image přes Composer:

composer require intervention/image

Poté můžete ke zpracování obrazu použít metody knihovny.

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

 

Zobrazte nahraný soubor a obrázek

Nakonec můžete nahraný soubor a obrázek zobrazit v uživatelském rozhraní. Pomocí Laravel pomocných metod 's vygenerujte veřejné adresy URL pro uložený soubor a obrázek a použijte je v HTML nebo CSS.

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

 

Proměnnou v HTML nebo CSS můžete použít $url k zobrazení nahraného souboru nebo obrázku.

 

Dodržením těchto kroků a využitím Laravel vestavěných funkcí aplikace 's můžete snadno nahrávat a zpracovávat soubory a obrázky ve vaší Laravel aplikaci.