CKEditor 5: Hapus gambar diserver setelah user menghapus gambar di editor

Halo para master web developer, saya baru saja belajar mengimplementasikan CKEditor 5 di web PHP biasa. Di CKEditor kan bisa insert gambar seperti di Word,  dan didokumentasi ckeditornya agar bisa insert gambar harus langsung diupload segera ke server meskipun user belum submit (jadi ada operasi Ajax disitu),

Disitu saya berhasil upload ke server pakai SimpleUploadAdapter sesuai dokumentasinya, tapi suatu saat ada kondisi dimana user akan menghapus gambar yang sebelumnya dia insert ke CKEditor (yang dimana itu udah di upload ke server), Sayangnya SimpleUploadAdapter cuma bisa upload aja

Jadi bagaimana caranya mendeteksi user menghapus gambar di CKEditor agar saya bisa delete gambarnya di server?, biar tidak numpuk.

Referensi :

https://ckeditor.com/docs/ckeditor5/latest/features/image-upload/simple-upload-adapter.html

avatar wildaniedn
@wildaniedn

26 Kontribusi 4 Poin

Diperbarui 3 tahun yang lalu

1 Jawaban:

Jawaban Terpilih

<div>Cek link ini:&nbsp;<a href="https://stackoverflow.com/questions/7446367/ckeditor-event-when-deleting-an-element">https://stackoverflow.com/questions/7446367/ckeditor-event-when-deleting-an-element</a><br><br>Fyi saja, ada cara lain untuk mekanisme upload image seperti ini, yaitu dengan Base64. Mudahnya, base64 ini akan meng-embed gambarnya secara langsung ke dalam HTML, jadi antara gambar dengan html nya akan menjadi 1 file saja.<br><br>Kelemahannya? File html akan menjadi lebih besar.<br>Solusinya? Gunakan base64 untuk mencantumkan gambarnya. Ketika sudah selesai, konten dari editor yang terkirim ke server di-“parse” terlebih dulu, yakni mencari apakah di dalam konten tersebut terdapat enkodingan base64. Jika ditemukan, dekode base64 tersebut, lalu simpan gambar yg telah didekode ke storage server dan cantumkan linknya pada posisi dimana enkodingan base64 tersebut sebelumnya ditemukan.<br><br>Terdengar ribet? Sebenarnya proses ini hanya membutuhkan sedikit regex + decoder base64, dimana PHP sendiri sudah menyediakan fungsi bawaan untuk keduanya.<br><br>(Saya pernah menerapkan solusi ini di laravel, dengan editor quill js. Dari dokumentasi yang agan cantumkan, sepertinya ckeditor mensupport base64 juga)<br><br>Tentu cara ini tidak 100% sempurna, tapi semoga bisa menambah perspektif agan dalam menghadapi kasus serupa. Cmiiw.</div>

avatar kodergan
@kodergan

51 Kontribusi 58 Poin

Dipost 3 tahun yang lalu

Tanggapan

Ooh, gitu ya gan. jadi base64 itu wujud dari gambarnya, kirain semacam enkripsi sebelum diupload. jadi kelewat baca dokumentasinya wkwk.. Terima kasih gan, saya coba-coba dulu.

Yup, gambarnya akan diembed ke dalam html nya secara langsung. Semoga lancar gan :)

Login untuk ikut Jawaban