Seperti yang diterangkan dalam gesaan, adalah mungkin untuk menetapkan .files sifat elemen ke Senarai Fail daripada
Walau bagaimanapun, objek FileList mempunyai sifat .length yang kekal pada 0 walaupun selepas menetapkannya melalui sifat .files. Selain itu, lulus
Untuk menangani isu ini, anda perlu terlebih dahulu memastikan bahawa FileList boleh berubah. Ini boleh dicapai dengan menggunakan pembina DataTransfer, mencipta FileList boleh ubah yang boleh diakses melalui DataTransferItemList.
Setelah FileList boleh berubah, fail boleh ditetapkan secara individu menggunakan kaedah DataTransferItemList.add(). Ini juga akan memastikan bahawa sifat FileList.length ditetapkan kepada bilangan fail yang betul.
Dengan mengikuti prosedur ini, fail juga akan ditunjukkan dalam objek FormData yang dicipta daripada borang.
Berikut ialah contoh:
const dT = new DataTransfer(); dT.items.add(new File(['foo'], 'programmatically_created.txt')); document.querySelector('input[type="file"]').files = dT.files;
Dengan pendekatan ini, Senarai Fail bagi elemen akan diisi dengan fail yang dibuat dalam objek DataTransfer. Sifat FileList.length akan ditetapkan kepada 1 dan fail akan ditunjukkan dalam objek FormData yang dibina daripada borang.
Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Senarai Fail dan Sifat Fail Dengan Betul Apabila Menggunakan FormData?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!