2011-12-19 57 views
0

所以我有这个代码,即时尝试返回现有的图片。虽然它不会显示。 Chrome说服务器意外地关闭了连接,firefox说immage中有一个错误。标题返回图像

这是代码;

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 

//编辑我无法发布图片。

+0

响应对象究竟是什么?我无法在.NET API中找到小写的readFile。有没有另一种方法可以将它转换为字节?我期望'ASCIIEncoding.GetBytes()'是问题所在。 – Rup 2011-12-19 10:51:13

回答

2

您的代码与响应和内容变量之间的关系有点混淆。

TransferEncoding头的目的是什么?考虑到这一点,使用它可以使用一个简单的工作:

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

并在BinaryWrite中传递此工作。

+0

好吧,这个工程..很简单...谢谢! – 2011-12-19 11:15:34

2

看看HttpResponse.WriteFile。使用它可能会解决它。

+0

也必须将此标记为答案,因为虽然我没有尝试它,但它也可能会起作用。 编辑 - 嗯,你只能有一个答案? – 2011-12-19 11:15:58

+0

@Quincy是的,只有一个接受的答案 - 但(一旦你得到15代表),你可以投票了所有有用的答案。 – Rup 2011-12-19 12:42:56