Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Menetapkan Senarai Fail dan Sifat Fail Dengan Betul Apabila Menggunakan FormData?

Bagaimana untuk Menetapkan Senarai Fail dan Sifat Fail Dengan Betul Apabila Menggunakan FormData?

Patricia Arquette
Lepaskan: 2024-12-08 06:19:10
asal
373 orang telah melayarinya

How to Correctly Set FileList and File Properties When Using FormData?

Bagaimana untuk menetapkan objek Fail dan sifat panjang pada objek FileList di mana fail juga ditunjukkan pada objek FormData?

Seperti yang diterangkan dalam gesaan, adalah mungkin untuk menetapkan .files sifat elemen ke Senarai Fail daripada sifat .files elemen atau sifat DataTransfer.files.

Walau bagaimanapun, objek FileList mempunyai sifat .length yang kekal pada 0 walaupun selepas menetapkannya melalui sifat .files. Selain itu, lulus mengandungi dengan .fail yang diubah suai menggunakan pendekatan ini akan menghasilkan objek Fail dengan saiz .0.

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;
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan