Я использую Asp.net Core 2.2 с Angular 8. Я пытаюсь загрузить файлы с некоторыми данными, которые будут сохранены, используя метод post.Данные передаются контроллеру, но в контроллере объект Request.Form выдает ошибку.
В asp.core 2.0 он работал нормально с angular 2. Но я пытаюсь обновить этот проект до angular 8 с asp.netядро 2.2.Теперь я получаю эту ошибку: «Request.form.files» вызвал исключение типа «system.invalidoperationexception».
Угловой код обслуживания:
saveNewMail(user: CommunicationActivityModel, files: File[]) {
let body = JSON.stringify(user);
let formData = new FormData();
for (var i = 0; i < files.length; i++) {
formData.append('uploadedFiles', files[i]);
}
formData.append('user', body);
let requestedUrl = this.baseUrl + 'SaveNewMail';
return this.apiService.postFormData(requestedUrl,
formData).pipe(map(response => response));
}
Код api.service:
postFormData(path: string, body: FormData): Observable<any> {
return this.http.post(
`${environment.api_url}${path}`,
body
).pipe(catchError(this.formatErrors));
}
Код контроллера:
[HttpPost]
[Route("SaveNewMail")]
public IActionResult SaveMail()
{
var files = Request.Form.Files;
var communicationActivityString = Request.Form["user"];
var communicationActivity =
JsonConvert.DeserializeObject<CommunicationActivityViewModel>
(communicationActivityString);
var activityId =
_messageCenterService.SaveNewMail(communicationActivity, files);
return Ok(activityId);
}