HttpHandler для рендеринга png из массива байтов - PullRequest
1 голос
/ 14 февраля 2012

Хорошо, это должно быть просто, но я просто не могу заставить его работать. У меня есть массив байтов, прочитанный из файла PNG. Я пытаюсь написать (очень) простой HttpHandler для рендеринга изображения:

context.Response.AddHeader("Content-Type", "image/png")
context.Response.BinaryWrite(bytes)
context.Response.End()

Когда я открываю страницу в браузере, я просто получаю тарабарщину,

NPNG IHDR X sRGB gAMA pHa pHYs o d` ...

Это явно что-то с информацией заголовка, я делаю не так. Есть предложения?

1 Ответ

1 голос
/ 14 февраля 2012

Попробуйте использовать свойство ContentType вместо AddHeader:

context.Response.ContentType = "image/png";
...

Еще две диагностики:

  • Если вы используете «save» в браузере и сохраняете его в png-файл, это правильно отрисовывается?
  • Используйте Wireshark , чтобы увидеть, что действительно возвращается в ответе (какие именно байты и т. Д.)
...