亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

上傳多個文件/圖像,獲取,formData

上傳多個文件/圖像,獲取,formData

POPMUISE 2022-12-22 13:00:42
我想通過上傳圖片fetch()。我使用formData并成功上傳,但一次只能上傳一張圖片。handleGetNewPictureDragDrop = data => {        console.log(data);        const formData = new FormData();        for (let i = 0; i < data.length; i++) {            formData.append('filename', data[i]);        }        console.log(...formData);        const name = this.props.nameCategory;        fetch('http://api.../gallery/' + name, {            method: 'POST',            body: formData,        })            .then(response => response.json())            .then(success => console.log(success))            .catch(error => console.log(error));    }控制臺日志(數據):控制臺日志(...表單數據):控制臺日志(成功):我拍了 3 張圖片,創建formData,有 3 張圖片,但在發布后formData我只上傳了一張。
查看完整描述

3 回答

?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

請在附加多個文件以形成數據時使用唯一鍵。

formData.append('file'+i, data[i]);


查看完整回答
反對 回復 2022-12-22
?
拉莫斯之舞

TA貢獻1820條經驗 獲得超10個贊

我認為您正在傳遞相同的“名稱”以附加到每個圖像。語法應該是

formData.append(name, value, filename);

第一個應該是字段名,如果不是唯一的,它會覆蓋。

嘗試讓它動態

  for (let i = 0; i < data.length; i++) {
        formData.append(`filename_${i}`, data[i]);
    }

或者可能其他東西(從您的數據中獨一無二)會更好,只是不要為每個圖像傳遞相同的名稱。


查看完整回答
反對 回復 2022-12-22
?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

我有一個類似的問題,但有一個 PHP 后端。唯一formData鍵可以工作,但我發現經典的 HTML 表示法工作得很好,只會在服務器上生成一個數組。

formData.append('file[]', data[i]);

我更喜歡它,因為我可以使用與處理經典<input type="file" multiple />.


查看完整回答
反對 回復 2022-12-22
  • 3 回答
  • 0 關注
  • 218 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號