owc中ChartSpaceClass图表在服务端直接输出的问题
看了孟子E章的文章:
http://xml.sz.luohuedu.net/xml/ShowDetail.asp?id=ADB6D011-A4AD-43A0-A8BF-3CED872A7A95
它是通过新建一个ChartSpaceClass对象,在程序中在ChartSpaceClass对象中根据提供的数据生成图表ChChart,最后是通过ChartSpaceClass.ExportPicture方法导出一个gif文件到服务端的硬盘上,然后把图片路径提供个客户端来显示图形.
我想能不能把生成的图形用Response.BinaryWrite直接发送到客户端去.ChartSpaceClass对象有个GetPicture 方法,可以从二进制数据流返回图表图片.
ChartSpaceClass.GetPicture("GIF",600,350);这个方法返回的是一个object类型的图片.
ChartSpaceClass objCSpace = new ChartSpaceClass();
//建立图表的过程省略
Response.Clear();
Page.Response.AddHeader( "Content-Type", "image/gif" );
Stream stream = (Stream)objCSpace.GetPicture("GIF",600,350); //这句出错
int len = (int)stream.Length;
byte[] bytes = new byte[len];
stream.Read(bytes,0,len);
Page.Response.AddHeader("Content-Disposition", "inline;filename=test.gif");
Response.BinaryWrite(bytes);
Response.End();
这样出错:
异常详细信息: System.InvalidCastException: 指定的转换无效。
Response.BinaryWrite(byte[])方法要求的参数是byte数组,objCSpace.GetPicture("GIF",600,350); 得到的图片object又不能转成Stream,应该怎么办?