Di dalam QuickAdminPanel, kami menggunakan paket Spatie Medialibrary yang populer untuk menyimpan file media. Secara default, ini tidak melakukan transformasi apa pun ke file asli yang diunggah, tetapi sangat mudah untuk diubah.
Contoh umum untuk hal ini adalah ketika Anda tidak ingin menyimpan gambar asli dengan ukuran besar, dan ingin mengubah ukurannya menjadi, katakanlah, maksimal 1024×1024 piksel.
Dalam QuickAdminPanel, pengunggahan file dilakukan dalam dua tahap:
– Pertama, file sebenarnya diunggah ke server menggunakan Dropzone.js dan panggilan AJAX untuk menyimpan file;
– Selanjutnya, ketika semua formulir sudah diserahkan (lihat di bawah), semua file yang diunggah sudah ditugaskan untuk Memodelkan dengan Spatie Medialibrary yang disebutkan di atas.
Lebih lanjut tentang pendekatan yang kami ambil – dalam artikel ini: Unggah Banyak File dengan Dropzone.js dan Paket MediaLibrary Laravel
Paket MediaLibrary tidak memanipulasi gambar asli secara default. Berikut komentar di Github mereka oleh pencipta Freek van Der Herten:
Perpustakaan media tidak membuat perubahan apa pun pada file asli. Jika Anda ingin mengoptimalkan file, Anda harus melakukannya sendiri sebelum menambahkannya ke perpustakaan media.
Jadi kita perlu mengubah ukuran gambar sebelum itu digunakan oleh paket.
Contoh kode di atas adalah untuk kode yang dihasilkan QuickAdminPanel kami, namun ini akan memberi Anda gambaran bagaimana hal itu dilakukan, sehingga Anda mungkin dapat menyesuaikannya dengan proyek Laravel Anda bahkan jika Anda bukan pengguna generator kami.
Dalam kasus kami, itu ada di file sifat app/Http/Controllers/Traits/MediaUploadingTrait.phpini adalah potongan kode tentang pengunggahan – tempat kita mengunggah penyimpanan/tmp/unggahan map:
$path = storage_path('tmp/uploads');
$file = $request->file('file');
$name = uniqid() . '_' . trim($file->getClientOriginalName());
$file->move($path, $name);
Jadi di sinilah kita perlu mengubah ukuran gambar yang diunggah.
Dan triknya adalah Spatie MediaLibrary menggunakan paket Spatie Image mereka sendiri, yang juga bisa kita gunakan di dalam sifat kita.
Setelah kode di atas, tambahkan ini:
Image::load($path . '/' . $name)->width(1024)->height(1024)->save();
Juga, jangan lupa untuk menambahkan ini di atas:
use Spatie\Image\Image;
Dan itu saja. Kemudian file yang diunggah akan diubah ukurannya pada saat itu juga, dan kemudian dalam metode store() Pengendali kita hanya menggunakan nama file tersebut untuk menetapkannya ke Perpustakaan Media:
$transaction = Transaction::create($request->all());
$transaction->addMedia(storage_path('tmp/uploads/' . $request->input('photo')))
->toMediaCollection('photo');
Sederhana, bukan?
News
Berita
News Flash
Blog
Technology
Sports
Sport
Football
Tips
Finance
Berita Terkini
Berita Terbaru
Berita Kekinian
News
Berita Terkini
Olahraga
Pasang Internet Myrepublic
Jasa Import China
Jasa Import Door to Door
Gaming center adalah sebuah tempat atau fasilitas yang menyediakan berbagai perangkat dan layanan untuk bermain video game, baik di PC, konsol, maupun mesin arcade. Gaming center ini bisa dikunjungi oleh siapa saja yang ingin bermain game secara individu atau bersama teman-teman. Beberapa gaming center juga sering digunakan sebagai lokasi turnamen game atau esports.
Comments are closed, but trackbacks and pingbacks are open.