У меня есть HttpHandler, возвращающий изображение через Response.OutputStream
. У меня такой код:
_imageProvider.GetImage().CopyTo(context.Response.OutputStream);
Метод GetImage()
возвращает Stream
, который на самом деле является экземпляром MemoryStream
, и возвращает браузеру 0 байтов. Если я изменю сигнатуру метода GetImage()
, чтобы вернуть MemoryStream
и использовать следующую строку кода:
_imageProvider.GetImage().WriteTo(context.Response.OutputStream);
Это работает, и браузер получает изображение. Итак, в чем разница между WriteTo и CopyTo в классе MemoryStream и каков рекомендуемый способ заставить это работать, используя класс Stream
в сигнатуре метода GetImage()
.