Soalan:
Bagaimana kita boleh mengubah suai objek Fail dalam FileList dan tetapkan panjangnya, memastikan fail ditunjukkan dalam FormData objek?
Jawapan:
Menggunakan Pemindahan Data
Seperti yang ditemui oleh poster asal (OP), API DataTransfer menawarkan kaedah untuk menyelesaikan tugas ini, walaupun had semasanya (hanya disokong oleh Blink, FF >= 62). Dengan mencipta FileList boleh ubah melalui DataTransferItemList, kami boleh menetapkan fail sewenang-wenangnya pada FileList bagi elemen input fail HTML.
// Tambah objek Fail pada DataTransferItemList
dT.items.add(new File(['foo'], 'programmatically_created.txt'));
// Tetapkan sifat fail elemen input kepada fail objek DataTransfer
inp.files = dT.files;
<input type="file">
Pendekatan ini secara berkesan mengubah suai FileList dalam elemen input fail, dan fail yang dikemas kini akan ditunjukkan dalam Objek FormData.
Batasan:
Adalah penting untuk ambil perhatian bahawa teknik ini pada masa ini mempunyai sokongan penyemak imbas yang terhad. Selain itu, beberapa gelagat sandaran mungkin diperlukan untuk penyemak imbas yang tidak menyokong pembina Pemindahan Data.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mengubah suai Objek Fail dan Panjang Senarai Fail dalam Objek FormData?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!