发送二进制数据问题

时间:2010-08-04 07:57:11

标签: c# asp.net

我正在尝试通过ASP.NET页面从数据库发送二进制数据。我可以看到属性data.Length是2400,这意味着2400字节,对吗? 奇怪的是,当我收到这些数据时,大小约为4kb,并且似乎已损坏。知道问题可能是什么吗?

byte[] data = proxy.getData(id);
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=data.bin");
Response.AddHeader("Content-Length", data.Length.ToString());
Response.ContentType = "application/octet-stream";
Response.Write(data);
Response.Flush();

1 个答案:

答案 0 :(得分:2)

Response.Write只有4次重载:

public void Write(char ch);
public void Write(object obj);
public void Write(string s);
public void Write(char[] buffer, int index, int count);

我怀疑,根据您的代码(Response.Write(data)),您正在调用object obj重载。你试过了吗?

Response.BinaryWrite(data);

这专门用于将字节数组的内容写入输出流。