Bagaimanakah kita boleh mengedit objek Fail dan melaraskan sifat panjang FileList dalam FormData objek?
Objek FileList lazimnya mempunyai sifat Symbol.iterator, membenarkan kami menetapkan objek yang boleh diubah sebagai jenis Fail. Walau bagaimanapun, sifat fail .length kekal pada 0.
Satu kejayaan baru-baru ini telah muncul, seperti yang ditunjukkan oleh OP dalam intipatinya. Dengan menggunakan pembina DataTransfer, kami boleh mencipta FileList boleh ubah yang boleh diakses melalui DataTransferItemList.
Dalam pelayar Blink dan Firefox versi 62 dan ke atas, pembina DataTransfer boleh mencipta FileList boleh ubah. Sebelum Firefox 62, pepijat dalam pelaksanaan ClipboardEvent menyediakan penyelesaian.
Berikut ialah contoh cara untuk mencapai ini:
const dT = new DataTransfer(); dT.items.add(new File(['foo'], 'programmatically_created.txt')); inp.files = dT.files;
<input type="file">
Pendekatan ini mengubah suai objek fail dengan berkesan dan menetapkan sifat panjang FileList dengan betul, membolehkannya dicerminkan dalam objek FormData.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mengubah suai Objek Fail dan Panjang Senarai Fail dalam FormData?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!