Я пытаюсь загрузить файл библиотеки (DLL) ASP.NET Core Class из моего клиентского приложения Angular 5.На стороне сервера у меня есть веб-API ASP.NET Core 2.0 для получения загруженного файла.Я использовал стандартный рекомендуемый механизм.Код на стороне клиента выглядит следующим образом:
uploadAssemblyFile(file: File): any {
const formdata: FormData = new FormData();
formdata.append('file', file, file.name);
const endpoint = '/api/upload';
const req = new HttpRequest('POST', endpoint, formdata, {
reportProgress: true,
responseType: 'json'
});
return this.http.request(req);
}
Код на стороне сервера выглядит следующим образом:
[HttpPost()]
[Route("api/upload")]
public async Task<IActionResult> UploadAssembly(IFormFile file)
{
long size = file.Length;
var uploads = Path.Combine(Directory.GetCurrentDirectory(), "uploads");
if (file != null && file.Length > 0)
{
using (var fileStream = new FileStream(Path.Combine(uploads, file.FileName), FileMode.Create))
{
await file.CopyToAsync(fileStream);
}
}
return Ok();
}
Правильно вызывается веб-API, IFormFile содержит все необходимые данные.Файл будет сохранен.Тем не менее, файл, кажется, поврежден.Размер исходного файла и загруженных файлов, видимый с помощью свойств в Windows, различен.
То же самое происходит с файлами PNG.Тем не менее, файлы TXT, похоже, загружаются правильно.
Кто-нибудь сталкивался с чем-либо подобным, как указано выше.Я просмотрел несколько постов, но не получил требуемого ответа.
Любые указатели, безусловно, помогут.Заранее спасибо