[英]Single file upload with FormData
我想用這個代碼上傳一個文件:
let formData = new FormData();
let file = this.file[0];
formData.append("file", file);
通常我使用這段代碼,因為當我上傳多個文件時:
let formData = new FormData();
for (let i = 0; i < data.files.length; i++) {
let file = data.files[i];
consol
formData.append("files[" + i + "]", file);
}
但是在上傳單個文件后, formData
變量在我 append 文件之后保持為空。 當我console.log
file
變量時,它向我顯示:
File {name: "2020_03_17 21_53 Office Lens (1).jpg", lastModified: 1587394084978, lastModifiedDate: Mon Apr 20 2020 16:48:04 GMT+0200 (Central European Summer Time), webkitRelativePath: "", size: 306890, …}
lastModified: 1587394084978
lastModifiedDate: Mon Apr 20 2020 16:48:04 GMT+0200 (Central European Summer Time) {}
name: "2020_03_17 21_53 Office Lens (1).jpg"
size: 306890
type: "image/jpeg"
webkitRelativePath: ""
為什么這個文件沒有附加到 FormData?
文件的內容(以字節的形式)永遠不會顯示在 console.log 中。
如果您能夠看到file.size
,則表示該文件存在於 formdata object 中。
要對此進行測試 - 嘗試將此表單數據發送到 API 並使用 httpRequest.FormData[0] 接收它 - 您會發現您的文件已發送到 api
參考 - https://developer.mozilla.org/en-US/docs/Web/API/FormData/Using_FormData_Objects
我猜在代碼中你需要“文件”而不是“文件”。 您還可以通過“this”檢查您實際指的是什么
let formData = new FormData();
let file = this.files[0];
formData.append("file", file);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.