У меня есть HttpHandler, возвращающий изображение через Response.OutputStream
. У меня есть следующий код:Разница между Stream.CopyTo и MemoryStream.WriteTo
_imageProvider.GetImage().CopyTo(context.Response.OutputStream);
GetImage()
метод возвращает Stream
, который на самом деле является MemoryStream
экземпляр и возвращает 0 байт в браузере. Если я изменить GetImage()
сигнатуру метода для возврата MemoryStream
и используйте следующую строку кода:
_imageProvider.GetImage().WriteTo(context.Response.OutputStream);
Он работает и браузер получает изображение. Итак, какова разница между WriteTo и CopyTo в классе MemoryStream, и каков рекомендуемый способ сделать это, используя класс Stream
в методе метода GetImage()
.
Я думаю, что copyTo сохраняет источник, а writeto is not. –
, где вы получили эту информацию? не могли бы вы предоставить ссылку? –
Мне хотелось бы, чтобы мозг мозга имел общедоступную ссылку. – viento