Lataa ja käsittele tiedosto ja kuva sisään Laravel

Määritä latauskenttä lomakkeeseen

Lisää ensin <input type="file"> HTML-lomakkeeseen kenttä, jonka avulla käyttäjät voivat valita ladattavan tiedoston tai kuvan.

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

 

Käsittele latauspyyntö

Ohjaimessa Laravel voit käsitellä latauspyyntöä menetelmässä. Käytä Illuminate\Http\Request objektia päästäksesi ladattavaan tiedostoon ja suorittaaksesi tarvittavat käsittelytoiminnot.

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

 

Tallenna tiedosto

Laravel tarjoaa store tavan tallentaa ladattu tiedosto. Kutsu tämä menetelmä tiedostoobjektiin ja anna haluamasi tallennuspolku.

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

 

Käsittele kuvaa

Jos sinun täytyy käsitellä kuvaa, kuten muuttaa kokoa, rajata tai käyttää suodattimia, voit käyttää kuvankäsittelykirjastoa, kuten Intervention Image. Asenna ensin Intervention Image -paketti Composerin kautta:

composer require intervention/image

Sitten voit käyttää kirjaston menetelmiä kuvan käsittelyyn.

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

 

Näytä ladattu tiedosto ja kuva

Lopuksi voit näyttää ladatun tiedoston ja kuvan käyttöliittymässä. Luo Laravel tallennetulle tiedostolle ja kuvalle julkisia URL-osoitteita käyttämällä apumenetelmiä ja käytä niitä HTML- tai CSS-muodossa.

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

 

Voit käyttää $url HTML- tai CSS-muuttujaa ladatun tiedoston tai kuvan näyttämiseen.

 

Noudattamalla näitä ohjeita ja käyttämällä Laravel sovelluksen sisäänrakennettuja ominaisuuksia voit helposti ladata ja käsitellä tiedostoja ja kuvia sovelluksessasi Laravel.