Файл поврежден после загрузки с AngularJS - PullRequest
0 голосов
/ 26 марта 2020

Мой angular код выглядит следующим образом (кнопка передает имя файла этой функции):

              $scope.getData = function (fileName) {
                apiFactory({
                    method: 'POST',
                    url: url2,
                    headers: {
                        'Content-Type': 'application/json',
                        'Authorization': 'Basic ***masked***'
                    },
                    data: {
                        'fileName': fileName
                    }
                }).then(function (result) {
                    var blob = new Blob([result], { type: 'image/jpeg' });
                    var link = document.createElement('a');
                    link.href = window.URL.createObjectURL(blob);
                    link.download = fileName;
                    link.click();
                }).catch(function (fallback) {
                    console.log(fallback);
                })
            }

Загруженный файл представляет собой файл изображения .jpg, недоступен для просмотра, Я открыл его с помощью блокнота и заметил, что структура содержимого выглядит так же, как и в исходном файле, но большинство символов - нет.

Исходный файл : Original

Загруженный файл **enter image description here**

Конечная точка - C#. net Базовый код WebAPI, и я подтвердил чтобы он передал файл:

             FileInfo fi = new FileInfo(Path.Combine(Directory.GetCurrentDirectory(), fileFolder, fileName));
            if (fi.Exists)
            {
                string contentType = "image/jpeg";
                if (Enum.TryParse(fi.Extension.Replace(".", ""), out MimeTypes m))
                    contentType = m.GetEnumDescription();

                var stream = new FileStream(fi.FullName, FileMode.Open);
                return new FileStreamResult(stream, contentType);
            }

Для текстовых файлов загрузка работает нормально. Но для JPEG, PDF, DOCX и др. c ... это не работает. Кто-нибудь может помочь, пожалуйста? Я бы взял тебя на ланч, как только этот вирус закончится.

...