0
我有點卡在這裏,我試圖從我的indexedDb發佈一個json對象,同時將一個IFormFile對象發佈到服務器。接受它的方法是這樣的:如何發佈json對象和文件到具有抓取的asp.net服務器
[HttpPost]
public async Task<IActionResult> Create(BatchModel model, IFormFile vinFile)
{
//logic goes here
}
這種方法以前能用,以前我曾來存儲我batchModels爲JSON對象,並剛剛發佈了直接從一個POST形式。自那時以來發生了很多變化,現在的他在網上再從離線狀態獲得,具有以下(簡化)方法,客戶端會盡快上傳:
if (infoChanged === true) {
fetchPromises.push(
fetch('/Batch/Create/', {
headers: new Headers({
'Content-Type': 'application/javascript' //Tried this with multi-part/form
}),
credentials: 'same-origin',
method: 'POST',
body: batch //, vinFile
})
);
}
return Promise.all(fetchPromises);
爲了測試我試圖用該方法只有模型填充了,唯一需要改變的是我必須在C#代碼中添加一個[FromBody]標籤,但現在我需要填充vinFile。 我已經用FormData對象試了一下,在Create函數中添加了同名的vinFile和batch。但是這會導致兩個變量都爲空。
如果你也想你的類型轉換在服務器端,你可能要採取潛入了NewtonSoft https://www.newtonsoft.com/json –
嘿感謝迴應,但我試圖做一個'後'而不是'得到'。我不能將它更改爲application/json,因爲我試圖同時發佈json和.csv文件。我正在考慮更多關於multipart/form-data,但是這似乎也不起作用。 雖然我會看看牛頓軟件! – Typhaon
沒問題祝你好運 –