首頁 > web前端 > js教程 > 使用FormData時如何正確設定FileList和檔案屬性?

使用FormData時如何正確設定FileList和檔案屬性?

Patricia Arquette
發布: 2024-12-08 06:19:10
原創
360 人瀏覽過

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

如何在 FileList 物件中設定 File 物件和 length 屬性,其中檔案也反映在 FormData 物件中?

如提示所述,可以設定 的.files 屬性從另一個 到FileList 的元素元素的.files 屬性或DataTransfer.files屬性。

但是,FileList 物件有一個 .length 屬性,即使透過 .files 屬性設定後,屬性仍保持為 0。另外,傳遞一個

包含 使用此方法修改 .files 將導致 .size 為 0 的 File 物件。

要解決此問題,有必要先確保 FileList 是可變的。這可以透過利用 DataTransfer 建構函數來建立一個可透過 DataTransferItemList 存取的可變 FileList 來實現。

一旦 FileList 可變,就可以使用 DataTransferItemList.add() 方法單獨設定檔案。這也將確保 FileList.length 屬性設定為正確的檔案數量。

透過執行此流程,檔案也會反映在從表單建立的 FormData 物件中。

這是一個範例:

const dT = new DataTransfer();
dT.items.add(new File(['foo'], 'programmatically_created.txt'));
document.querySelector('input[type="file"]').files = dT.files;
登入後複製

透過這個方法, 的 FileList元素將使用在 DataTransfer 物件中建立的檔案進行填入。 FileList.length 屬性將設定為 1,檔案將反映在從表單建構的 FormData 物件中。

以上是使用FormData時如何正確設定FileList和檔案屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板