I am using asp.net core 2.2 with angular 8. I am trying to upload files with some data to be saved using post method. Data is passing to controller but in controller Request.Form object is throwing error.
It was working properly in asp.core 2.0 with angular 2. But I am trying to update this project to angular 8 with asp.net core 2.2. Now I am getting this error "Request.form.files' threw an exception of type 'system.invalidoperationexception'".
Angular Service Code:
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 Code:
postFormData(path: string, body: FormData): Observable<any> {
return this.http.post(
`${environment.api_url}${path}`,
body
).pipe(catchError(this.formatErrors));
}
Controller Code:
[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);
}
