所以我試圖通過 axios 將一組物件發送到后端(我正在使用 express.js)。當我發送沒有檔案的物件時,我沒有問題,但是一旦我嘗試用它發送檔案,我就遇到了一些問題。我知道我必須使用 formData 來做到這一點,而且我之前已經這樣做了,但是這次我有一個需要發送的多個物件的陣列。所以不知道這次 append 是如何作業的。這是我的物件的簡化版本
const treatementListe = {
"id": 0,
"date": "2021-10-22T09:41:19.678Z",
"selectedTraitements": "Injection1",
"selectedZones": "Face",
"traitementNote": "Careful",
"files": [
{
"upload": {
"uuid": "be68c533-92d5-4f5d-b9e4-ba338f264641",
"progress": 100,
"total": 20261,
"bytesSent": 20261,
"filename": "1617826401810IMG-20210211-WA0002.jpg",
"chunked": false,
"totalChunkCount": 1
},
"status": "success",
"previewElement": {},
"previewTemplate": {},
...etc
}
]
},
{
"id": 1,
"date": "2021-10-22T09:41:19.678Z",
"selectedTraitements": "Injection2",
"selectedZones": "Ear",
"traitementNote": "Careful",
"files": [
{
"upload": {
"uuid": "be68c533-92d5-4f5d-b9e4-ba338f264641",
"progress": 100,
"total": 20261,
"bytesSent": 20261,
"filename": "1617826401810IMG-20210211-WA0002.jpg",
"chunked": false,
"totalChunkCount": 1
},
"status": "success",
"previewElement": {},
"previewTemplate": {},
...etc
}
]
}
axios 發布請求
typeForm() {
const fd = new FormData();
fd.append('traitementsListe', traitementsListe)
//isn't working
console.log(traitementsListe)
if(traitementsListe.length > 0) {
const patient = axios.post(`${baseUrl}addOldfolder`, fd)
.then(response => {
console.log(response)
return response.data;
}).catch(error => ({ error: JSON.stringify(error) }));
}
}
編輯:這是我的后端代碼
router.post('/addOldfolder', async(req,res) =>{
try {
console.log(req.body)
// output empty object
res.send(req.body)
// sends empty object
} catch(err){
res.status(400).send(err);
}
})
uj5u.com熱心網友回復:
喜歡下面
fd.append('traitementsListe', JSON.stringify(traitementsListe));
uj5u.com熱心網友回復:
問題解決了。但我真的不明白為什么它有效,我所要做的就是添加
router.post('/addOldfolder', upload.array("files"), async(req,res) =>{
try {
console.log(req.body)
// output empty object
res.send(req.body)
// sends empty object
} catch(err){
res.status(400).send(err);
}
})
因為我在上傳檔案時多次使用該中間件。我設法通過添加中間來控制物件!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/333776.html
標籤:javascript 节点.js Vue.js 表达 公理
