Įkelkite ir tvarkykite failą ir vaizdą Laravel

Apibrėžkite įkėlimo lauką formoje

Pirma, prie HTML formos pridėkite <input type="file"> lauką, kad naudotojai galėtų pasirinkti failą arba vaizdą, kurį norite įkelti.

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

 

Tvarkykite įkėlimo užklausą

Valdiklyje Laravel galite apdoroti įkėlimo užklausą metodu. Naudokite Illuminate\Http\Request objektą norėdami pasiekti įkeltą failą ir atlikti reikiamas tvarkymo operacijas.

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

 

Išsaugokite failą

Laravel pateikia store įkelto failo saugojimo būdą. Tiesiog iškvieskite šį metodą failo objekte ir nurodykite norimą saugojimo kelią.

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

 

Tvarkykite vaizdą

Jei reikia tvarkyti vaizdą, pvz., keisti dydį, apkarpyti ar taikyti filtrus, galite naudoti vaizdo apdorojimo biblioteką, pvz., Intervention Image. Pirmiausia įdiekite „Intervention Image“ paketą naudodami „Composer“:

composer require intervention/image

Tada galite naudoti bibliotekos metodus vaizdui apdoroti.

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

 

Rodyti įkeltą failą ir vaizdą

Galiausiai galite parodyti įkeltą failą ir vaizdą vartotojo sąsajoje. Naudokite Laravel pagalbinius metodus, kad sukurtumėte viešuosius saugomo failo ir vaizdo URL adresus ir naudokite juos HTML arba CSS.

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

 

Galite naudoti $url kintamąjį HTML arba CSS, kad būtų rodomas įkeltas failas arba vaizdas.

 

Atlikdami šiuos veiksmus ir naudodami Laravel integruotas funkcijas, savo programoje galite lengvai įkelti ir tvarkyti failus bei vaizdus Laravel.