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
没问题祝你好运 –