Загрузка файлов через веб-API Angular 5 и ASP.NET Core 2.0 - поврежденные файлы - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь загрузить файл библиотеки (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, похоже, загружаются правильно.

Кто-нибудь сталкивался с чем-либо подобным, как указано выше.Я просмотрел несколько постов, но не получил требуемого ответа.

Любые указатели, безусловно, помогут.Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...