Fájlok és képek feltöltése és kezelése Laravel

Határozza meg a feltöltési mezőt az űrlapon

Először is adjon hozzá egy <input type="file"> mezőt a HTML űrlaphoz, amely lehetővé teszi a felhasználók számára, hogy kiválaszthassanak egy fájlt vagy képet a feltöltéshez.

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

 

Kezelje a feltöltési kérelmet

Egy Laravel vezérlőben a feltöltési kérelmet egy metódusban kezelheti. Használja az Illuminate\Http\Request objektumot a feltöltött fájl eléréséhez és a szükséges kezelési műveletek végrehajtásához.

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

 

Tárolja a fájlt

Laravel módszert biztosít store a feltöltött fájl tárolására. Egyszerűen hívja meg ezt a metódust a fájlobjektumban, és adja meg a kívánt tárolási útvonalat.

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

 

Kezelje a képet

Ha egy képet kell kezelnie, például átméretezni, levágni vagy szűrőket alkalmazni, használhat egy képfeldolgozó könyvtárat, például az Intervention Image-t. Először telepítse az Intervention Image csomagot a Composeren keresztül:

composer require intervention/image

Ezután használhatja a könyvtár módszereit a kép feldolgozásához.

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

 

Jelenítse meg a feltöltött fájlt és képet

Végül a feltöltött fájlt és képet megjelenítheti a felhasználói felületen. Használja Laravel a segédmetódusokat, hogy nyilvános URL-eket generáljon a tárolt fájlhoz és képhez, és használja őket HTML-ben vagy CSS-ben.

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

 

Használhatja a $url változót HTML-ben vagy CSS-ben a feltöltött fájl vagy kép megjelenítéséhez.

 

Ha követi ezeket a lépéseket, és használja Laravel a beépített funkcióit, egyszerűen tölthet fel és kezelhet fájlokat és képeket az alkalmazásban Laravel.