I'm trying to send data from a JavaScript Fetch
to a .Net controller
.
But I'm having quite a lot of troubles.
I'm currently trying something like so:
let response = await fetch("/MyRoute", {
method: "POST",
headers: { "Content-Type": "application/json; charset=utf-8" },
body: {
model: JSON.stringify(this.myModel),
image: JSON.stringify(this.myModel.image),
},
});
And I'm trying to retrieve it from my controller like so
public async Task<IActionResult> MyRoute([FromBody]Menu model, [FromBody]IFormFile image)
{
}
And Nothing more if I try:
public async Task<IActionResult> MyRoute([FromBody]Menu model, [FromBody]dynamic image)
{
}
Both model
and image
are empty.
I managed to have model
filled in by removing second frombody
but it's not helping me much:
public async Task<IActionResult> MyRoute([FromBody]Menu model, IFormFile image)
{
}
I stumbled upon this answer suggesting that sending 2 objects in body of different kind can be quite tricky. But I can't figure out how to adapt it to my JS-only to .Net
case.