希望这不是一个重复...保存巴纽的OutputStream截断
假设我有在大小png格式,300KB左右一个形象,我把它发送到客户端从aspx文件是这样的:
Bitmap img = new Bitmap(filepath);
using(MemoryStream ms = new MemoryStream())
{
img.save(ms, ImageFormat.Png);
Response.ContenType="image/png";
ms.WriteTo(Response.OutputStream);
}
img.Dispose();
在客户端的JavaScript,它只是:
var img = new Image();
img.src = xxx.aspx?param=semething;
这通常工作......但偶尔的响应似乎被缩短。 Chrome会等待请求,直到超时。在Firebug,在图像中的Net选项卡下查看,请求实际显示是这样的:
Get xxx.aspx?param=something hostUrl 0(14.7mb) 127.0.0.1:80
这14.7MB小艾...的bizzare它看似超时后,萤火虫实际上显示整个加载的图像虽然..所以IIS看起来已经发出了在这种情况下的一切......
在所有情况下,标题正确显示contentType和content-Length。 有些时候,请求不会结束,直到我关闭浏览器或从网页中拉出图像。然后,我可以找到IIS向事件日志发送错误消息,说明远程主机关闭了连接。
我只是似乎无法针点问题......
- 编辑 -
改为根本就一个Response.TransmitFile(文件路径),但问题仍然存在。 至少在Chrome中,我认为请求最终在90秒后被浏览器终止。 IIS没有记录任何错误... 看起来像IIS认为它已经完成了所有必须要做的事情......但在本地机器上浏览器的路上失去了一些东西......
我带系统到另一台机器,并对其进行测试后... 并且还尝试改变以后ashx的...
太好了。我会给它一点,先测试一下。 – user1600124
好吧...我试着用Response.TransmitFile,并且清除响应内容。但问题依然存在。 当我有更多的时间在我的手上,我会尝试做一个.ashx,看看它是怎么回事。 – user1600124
你有任何进一步的代码没有张贴在这里后,在文件阅读? –