Допустим, у меня есть контроллер ASP.NET WebAPI, который выглядит так:
public class StuffController
{
[HttpGet]
[Route("api/v1/stuff/{id:int}")]
[ResponseType(typeof(Model))]
public async Task<IHttpActionResult> GetAsync(int id)
{
// ...
}
[HttpPut]
[Route("api/v1/stuff/{id:int}")]
[ResponseType(typeof(IHttpActionResult))]
public async Task<IHttpActionResult> UpdateAsync(int id, Model model)
{
// ...
}
[HttpPost]
[Route("api/v1/stuff")]
[ResponseType(typeof(IHttpActionResult))]
public async Task<IHttpActionResult> CreateAsync([FromBody] Model model)
{
// ...
}
}
Есть ли в любом случае, я могу отправить / загрузить / отправить из приложения Angular (очевидно, в сервисе с должным образом внедренным HttpClient) модель (которая является данными json, которые будут извлечены из тела) и данные формы, содержащие файлы. ..)
Проблема в том ... Я не понимаю, как:
const formData = new FormData();
const uploadReq = new HttpRequest('POST', url, formData, {
reportProgress: true,
headers: headers
});
Это как ...:
- Я добавляю данные json как часть данных формы и не могу извлечь их из тела как «такого» в действии Web API Controller, и мне нужно сохранить ключ, используемый в приложении Angular для данных json, а затем выполнить цикл поверх остальных ключей (которые предположительно являются всеми файлами).
- Я должен отправить отдельное «POST» для каждого файла