Ошибка Blazor при попытке загрузки из FileStreamResult - PullRequest
0 голосов
/ 13 июля 2020

Я пытаюсь десериализовать файл (в данном случае PDF) из FileStreamResult на контроллере API в интерфейсе Blazor WebAssembly.

На стороне контроллера я возвращаю файл;

    public IActionResult GetDocumentImage(int documentId)
    {
        var response = _service.Get(documentId);

        HttpAssert.Success(response);
        HttpAssert.IsNotNull(response);

        Stream stream = new MemoryStream(response.Result.Data);

        if (stream == null)
            return NotFound();

        return File(stream, response.Result.MimeType); 
    }

У меня есть следующий код;

 internal async Task<ServiceResponse<T>> BuildResponseAsBinaryStream<T>(HttpResponseMessage response)
 {
       if (response.IsSuccessStatusCode)
       {
            var responseContent = await response.Content.ReadAsStreamAsync();

            using (MemoryStream memoryStream = new MemoryStream())
            {
                 await responseContent.CopyToAsync(memoryStream);
                 memoryStream.Position = 0;

                 T obj = default(T);

                 BinaryFormatter binarySerializer = new BinaryFormatter();
                 obj = (T)binarySerializer.Deserialize(memoryStream);

                 return new ServiceResponse<T> { Result = obj, HasError = false, HttpErrorCode = -1, Error = null };
             }

       }
 }

Однако возникает исключение на await responseContent.CopyToAsync(memoryStream);, я могу отладить это через Chrome, используя отладчик на стороне клиента и Visual Studio но ex.Message это unable to evaluate.

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