首頁 > web前端 > js教程 > 如何修改 FormData 中的檔案物件和檔案清單長度?

如何修改 FormData 中的檔案物件和檔案清單長度?

Linda Hamilton
發布: 2024-12-13 07:03:11
原創
888 人瀏覽過

How Can I Modify File Objects and FileList Length within FormData?

在FormData 中編輯File 物件和FileList 屬性

問題:

如何在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中文網其他相關文章!

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