У меня есть конечная точка отдыха, которая, кажется, не может передать изображение из допустимого большого двоичного объекта Azure.Когда я смотрю на поток в отладке, он имеет соответствующие размеры в байтах и кажется работоспособным.
Работает следующий код ( загрузка кредитов / контейнера Azure для краткости ), но происходит сбой при возврате вывода (см. Ниже 500)
if (await blockBlob.ExistsAsync())
{
var stream = new MemoryStream();
await blockBlob.DownloadToStreamAsync(stream);
return new FileStreamResult(stream, "image/jpeg");
Результат 500 (Ошибка: внутренняя ошибка сервера):
server: Kestrel
x-sourcefiles: =?UTF-8BQzpcX0NvZGVcUGV0U21hcnRcUG9kc1xQT0RTXGN1c3RvbWVyc1xwaG90b3NcZG93bmxvYWQ=?=
x-powered-by: ASP.NET
date: Fri, 01 Jun 2018 21:21:18 GMT
content-length: 0
Конечная точка
[HttpGet]
[Route("/photos/download")]
[SwaggerOperation("Photo Download")]
public async Task<IActionResult> DownloadPhoto([FromQuery]long? photoId)
Это сложнокодированный возврат работает как талисман
var image = System.IO.File.OpenRead(@"C:\Temp\info.png");
return File(image, "image/jpeg");
Я могу просмотреть и загрузить именованный BLOB-объект в обозревателе хранилищ Azure.