[英]Uploading image file with formData and Axios
所以我想將圖像上傳到不接受 json 有效負載,而是 formData 的服務器。 我正在做的是
var bodyFormData = new FormData(); bodyFormData.set("access_token", globalState.access_token); bodyFormData.set("listing_id", 2); bodyFormData.append("image", Cookies.get("listingCover"));
但在此之后,如果我console.log(bodyFormData)
它返回一個空的 object? 相反,如果我 console.log(...bodyFormData) 它返回我上面設置的每個表單數據的 3 個單獨的 arrays。 我希望能夠在請求正文中將其作為bodyFormData
發送,如下所示。 我怎么做?
axios({ method, url: url, data: bodyFormData, headers: { "Content-Type": "multipart/form-data" }, })
使用FormData.entries()到 console.log 以查看formData
中存儲的內容
你不能簡單地 console.log(bodyFormData) 它不會返回任何東西。
運行下面的代碼段。
var bodyFormData = new FormData(); bodyFormData.set("access_token", 'globalState.access_token'); bodyFormData.set("listing_id", 2); bodyFormData.append("image", 'Cookies.get("listingCover")'); //Loop througt formData for (var data of bodyFormData.entries()) { console.log(data[0]+ ', ' + data[1]); }
您在執行axios
時沒有任何方法 您需要將您post
方法設置為如下所示以發送您的bodyFormData
編輯:工作演示: https://jsfiddle.net/mxkLejrf/
=> 在演示中,您可以看到開發工具 -> 網絡bodyFormData
正在通過 POST 發送
axios({
method: 'post',
url: 'someEndPointUrl',
data: bodyFormData,
headers: {
'Content-Type': 'multipart/form-data'
}
})
.then(function(response) {
// success
console.log(response);
})
.catch(function(response) {
// error
console.log(response);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.