Я пытаюсь десериализовать файл (в данном случае 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
.