如何在FormData 中編輯File 物件並調整FileList 的length 屬性?
FileList 物件通常有一個Symbol.iterator 屬性,讓我們可以將可迭代的物件設定為 File 類型。但是,檔案 .length 屬性仍為 0。
最近出現了突破,正如 OP 的要點所示。利用 DataTransfer 建構函數,我們可以建立一個可透過 DataTransferItemList 存取的可變 FileList。
在 Blink 瀏覽器和 Firefox 版本 62 及更高版本中,DataTransfer 建構子可以建立一個可變 FileList。在 Firefox 62 之前,ClipboardEvent 實作中的錯誤提供了解決方法。
以下是如何實現此目的的範例:
const dT = new DataTransfer(); dT.items.add(new File(['foo'], 'programmatically_created.txt')); inp.files = dT.files;
<input type="file">
這種方法有效地修改了檔案物件並正確設定了FileList的length屬性,讓它們能夠反映在FormData中物件。
以上是如何修改 FormData 中的檔案物件和檔案清單長度?的詳細內容。更多資訊請關注PHP中文網其他相關文章!