水晶报表动态加载图片问题

fengylm 2011-05-16 09:17:49
加载方式:
我通过读取本地图片生成一个byte[]的2进制流保存到水晶报表,然后用ole对象显示这个图片

byte[] bytes = null;
Stream f = File.Open(Server.MapPath(ImagePath), FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
BinaryReader br = new BinaryReader(f);//使用二进制读取器读取图片流
bytes = br.ReadBytes((int)f.Length);//写入指定长度的字节到字节组数
br.Close();
f.Close();

用的一直好好的,结果今天换了个图片居然就显示不出了,格式也是一样的。但是在报表上就显示一个红色的叉
然后换成原来的图片刷新页面就有好了,但是就是换成其他任意一个同格式的图片都没办法显示,我用
Response.BinaryWrite();直接把流输出到页面显示的图片是对的,说明写入流没问题,但是就是在报表上显示不出

有人遇到类似问题不?
...全文
105 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengylm 2011-05-18
  • 打赏
  • 举报
回复
但是我用下面代码的时候却可以在报表上显示任意图片
string TPPath = Server.MapPath(ImagePath); //得到图片路径
Bitmap bmp= new Bitmap(TPPath);
MemoryStream QRimage = new MemoryStream();
try
{
bmp.Save(QRimage, System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch (Exception)
{ }
byte[] bmpBytes = QRimage.GetBuffer();
try
{
bmp.Dispose();
}
catch (Exception)
{ }
try
{
QRimage.Close();
}
catch (Exception)
{ }

//bmpBytes 比特数组
阿泰 2011-05-16
  • 打赏
  • 举报
回复
是很多图片都不行?还是偶尔一两个不行呢?
fengylm 2011-05-16
  • 打赏
  • 举报
回复
所有都不行,只有一开使用的那个图片可以其他图片重命名成一开始用的那个图的文件名也不可以显示

4,816

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧