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.