Muat Naik dan Kendalikan Fail dan Imej dalam Laravel

Tentukan medan muat naik dalam borang

Pertama, tambahkan <input type="file"> medan pada borang HTML untuk membolehkan pengguna memilih fail atau imej untuk dimuat naik.

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

 

Mengendalikan permintaan muat naik

Dalam Laravel pengawal, anda boleh mengendalikan permintaan muat naik dalam kaedah. Gunakan Illuminate\Http\Request objek untuk mengakses fail yang dimuat naik dan melaksanakan operasi pengendalian yang diperlukan.

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

 

Simpan fail

Laravel menyediakan store kaedah untuk menyimpan fail yang dimuat naik. Hanya panggil kaedah ini pada objek fail dan sediakan laluan storan yang diingini.

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

 

Mengendalikan imej

Jika anda perlu mengendalikan imej, seperti mengubah saiz, memangkas atau menggunakan penapis, anda boleh menggunakan pustaka pemprosesan imej seperti Imej Intervensi. Mula-mula, pasang pakej Imej Intervensi melalui Komposer:

composer require intervention/image

Kemudian, anda boleh menggunakan kaedah perpustakaan untuk memproses imej.

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

 

Paparkan fail dan imej yang dimuat naik

Akhir sekali, anda boleh memaparkan fail dan imej yang dimuat naik dalam antara muka pengguna. Gunakan Laravel kaedah pembantu untuk menjana URL awam untuk fail dan imej yang disimpan, dan gunakannya dalam HTML atau CSS.

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

 

Anda boleh menggunakan $url pembolehubah dalam HTML atau CSS untuk memaparkan fail atau imej yang dimuat naik.

 

Dengan mengikuti langkah ini dan menggunakan Laravel ciri terbina dalam, anda boleh memuat naik dan mengendalikan fail dan imej dalam Laravel aplikasi anda dengan mudah.