2011-12-19 4 views
0

Итак, у меня есть этот код, который im пытается вернуть существующее изображение. Хотя он не будет отображаться. Chrome говорит, что сервер неожиданно закрыл соединение, firefox говорит, что в нем есть ошибка.Обратное изображение в заголовке

Это код;

System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding(); 
      byte[] img = enc.GetBytes(response); 
      Response.AddHeader("Transfer-Encoding", "Chunked"); 
      Response.AddHeader("Connection", "Keep-Alive"); 
      Response.AddHeader("Keep-Alive", "timeout=1, max=64"); 
      Response.BinaryWrite(img); 

var content = fileStorage.readFile(src); // this is the file. Which is return in response 

// edit Я не могу опубликовать изображение.

+0

Что такое объект ответа? Я не могу найти файл readFile с нижним регистром в .NET API. Есть ли другой способ конвертировать его в байты? Я ожидаю, что 'ASCIIEncoding.GetBytes()' является проблемой. – Rup

ответ

2

Ваш код немного путается с отношением между переменными ответа и содержимого.

Какова цель заголовка TransferEncoding? Принимая это во внимание, он работает с использованием простого:

var content = System.IO.File.ReadAllBytes("C:\\path\\image.gif") 

и передачи этого в BinaryWrite работает.

+0

Хорошо, это работает .. Так просто ... Спасибо! –

2

Посмотрите на HttpResponse.WriteFile. Использование его, вероятно, решает его.

+0

Должен отметить это как ответ, потому что, хотя я и не пробовал, он, вероятно, тоже будет работать. EDIT - Хм, у вас может быть только один ответ? –

+0

@ Quincy да, только один принятый ответ - но (как только вы получите 15 репрессий), вы можете проголосовать за все полезные ответы. – Rup

Смежные вопросы