Я пытаюсь передать файл CSV своему бэкэнду, чтобы использовать библиотеку для анализа данных CSV.
У меня есть внешний интерфейс Angular7 с бэкендом C # .Net Core MVC, использующим HttpClient вмашинописный текст для передачи данных и объектов в и из серверной части.
Я пробовал несколько решений, но с минимальным успехом (самое близкое, что я могу добраться до контроллера в моем коде, но файл никогда
Я пытаюсь избежать какого-либо сериализации или преобразования CSV, пока он не попадет на контроллер, поэтому я бы хотел найти решение, в котором я мог бы отправить весь CSVна сервер.
Любая помощь будет оценена.
service.ts
// Parse CSV
// The CSV always reaches this part of the code and I can inspect it.
parseCsv$(file: File): Observable<Dto> {
const request$ = this.http.post<Dto>(
location.origin + '/api/csvimport',
file,
{ headers: new HttpHeaders({ 'Content-Type': 'multipart/form-data' }) }
).pipe(
map((response: <Dto>) => response)
);
request$.subscribe();
return request$;
}
CsvImportController.cs
[HttpPost]
[ProducesResponseType(typeof(Dto), 200)]
// The 'file' variable below is always null
public async Task<IActionResult> ParseCsv([FromBody]IFormFile file)
{
// do work here