我正在尝试通过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();
答案 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);
这专门用于将字节数组的内容写入输出流。