Laravel mendukung validasi dan konversi gambar HEIC

Laravel 13.24 menambahkan dukungan untuk menerima upload HEIC dan AVIF pada image API serta validation rules. Laravel News juga membahas cara mengambil foto dari perangkat seperti iPhone lalu menyajikannya sebagai WebP atau AVIF.

Format gambar modern membantu aplikasi menerima file dari lebih banyak perangkat, tetapi penerimaan file tidak boleh hanya bergantung pada ekstensi. Backend tetap perlu memvalidasi tipe, ukuran, dimensi, dan kemampuan library pemrosesan gambar.

Mengapa HEIC perlu diperhatikan?

Perangkat mobile dapat menghasilkan gambar HEIC dengan ukuran dan karakteristik yang berbeda dari JPEG. Jika aplikasi hanya mengizinkan format lama, pengguna mungkin gagal mengunggah foto yang sebenarnya valid.

Konversi ke WebP atau AVIF dapat membantu kompatibilitas browser dan efisiensi ukuran file. Namun, proses konversi membutuhkan resource server serta pemeriksaan hasil agar file tidak rusak.

Contoh validasi Laravel

$request->validate([
    'image' => [
        'required',
        'image',
        'mimes:heic,heif,avif,jpg,jpeg,png',
        'max:10240',
    ],
]);

Contoh tersebut adalah adaptasi editorial Codekop berdasarkan topik sumber. Nama rule, dukungan format, dan kebutuhan server tetap perlu disesuaikan dengan versi Laravel serta library image yang dipakai project.

Keamanan upload: Simpan file di lokasi yang tidak langsung mengeksekusi script, gunakan nama file acak, batasi ukuran, dan jangan mempercayai MIME type dari client tanpa pemeriksaan server.

Konversi dan delivery

Setelah validasi, aplikasi dapat membuat versi WebP atau AVIF untuk delivery. Simpan metadata file asli dan hasil konversi bila diperlukan, lalu gunakan URL yang aman. Untuk gambar besar, proses dapat dipindahkan ke queue agar request upload tidak terlalu lama.

Testing sebaiknya mencakup file HEIC valid, file HEIC rusak, ekstensi yang dipalsukan, ukuran terlalu besar, dan gambar dengan dimensi ekstrem. Pantau juga penggunaan CPU serta storage ketika konversi berjalan bersamaan.

Kesimpulan

Dukungan HEIC dan AVIF di Laravel memudahkan aplikasi menerima gambar dari perangkat modern. Implementasi yang baik tetap membutuhkan validasi berlapis, konversi yang terkontrol, penyimpanan aman, dan pengujian terhadap berbagai kondisi file.

Sumber asli:

https://laravel-news.com/laravel-heic-image-uploads

Transparansi: Artikel ini disusun bersama Codekop AI berdasarkan sumber yang tercantum, kemudian ditinjau dan disunting oleh Fauzan Falah. AI dapat keliru, jadi silakan cek kembali sumber asli.
Komentar