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.