DataGrid 绑定表中的图片时(图片以 image格式存储在表中),图片显示不完整,img中的图片被遮住了一部分,只能看见图片的上部分(这部分感觉就是DataGrid的默认行高)调整了单元格的高度,img不设宽,高,图片还是显示不完整,还有一点,当DataGrid绑定图片时,状态栏会显示在读取图片,但就是一直读不出来,非得去追踪执行,图片才能显示出来,着实没法子,麻烦各位达人出出策,thanks
ds.Tables[0].Rows[i]["Icon"] = "<a title='" + FileSize + "' href='#' onclick=\"javascript:popWindows('../../DLPicture.aspx?" + Constant.Query_DownloadRefNum + "=" + ds.Tables[0].Rows[i]["DocID"].ToString() + "')\"><img width=80 height=80 border=0 src='../../DLPicture.aspx?" + Constant.Query_DownloadRefNum + "=" + ds.Tables[0].Rows[i]["DocID"].ToString() + "'/></a>"; 
------->这里是img 读出图片,然后对图片做链接(可以打开图片)
protected void GetFileDownload()
{   
    byte[] outputFile = (byte[]) objFUpProp.UploadPicture;
    Response.Clear();
    Response.ClearContent();
    Response.ClearHeaders();
    Response.ContentType = objFUpProp.PictureType;//picture type
    Response.AppendHeader("content-disposition","attachment; filename=" + objFUpProp.PictureName);
 Response.BinaryWrite(outputFile);
          Response.Flush();
 Response.Close(); 
}
这个函数是读出图片文件(DLPicture.aspx)里的函数

解决方案 »

  1.   

    你的图片是以image形式存数据库的吗?
      

  2.   

    图片是不是很大?objFUpProp.UploadPicture; 中读取二进制流数据是否有问题?
      

  3.   

    如果你用的是image.那么请看看你的数据库,这个保存文件的长度是否够了,如果你的图片过大,那么数据也就只存了一半,建议更改数据类型,换个大点的对象存储类型,如果那样,我很遗憾,你不得不删除原有的所有图片并重新录入,good luck
      

  4.   

    hello_okay(Captain_James·Cook)  
     
     
       你的图片是以image形式存数据库的吗?
      
    回hello_okay 写的时候是以 byte格式
    数据库端该字段为 image  
     
      

  5.   

    是,我以前也是遇过这种问题,我把一幅《拿破仑》的油画保存进数据库,也是以image类型保存,byte输入的,结果输出只有拿破仑的帽子,白马,和衣服都没有,图片旧只有一段,后来我把它用报表输出还是只有一半所以我怀疑是数据不完整.
      

  6.   

    回 hello_okay兄我这问题跟你的很相似,图片框下部分,都是白的
    image大小长度只有16位,但我图片大小只有几十K左右,照理说可以放得下那个读取图片的页面 DLPicture.aspx 之前是用来读取文件的上传文件也是以这种模式image保存在数据库,然后以byte读出
      

  7.   

    Jinglecat(晓风残月 >> 问题需简洁,错误要详细)   
     
     
       非得去追踪执行  ??????是的,不然状态栏一直显示在读取图片thanks
      
     
      

  8.   

    那我的问题和你不同,我把图片从crystal Report的源数据(不用在另一个页面输出然后获取链接)读出结果下面的还是全白
      

  9.   

    你是说你的追踪执行就可以全部显示出来?回 hello_okay 兄 不是的,追踪只能显示一部分如果不追踪,则页面一直在运行,提示在读取图片(估计是图片不完整,显示不了)那hello_okay 兄 你的问题如何解决的?
      

  10.   

    数据以文件链接保存,然后调用指定目录的文件-_-!,那时没找到比image更好的保存图片的方法,但是只保存链接的话,水晶报表又不能一次性输出了.......
      

  11.   

    asp.net技术交流中心   
    群1:29156948 满  
    群2:44572142 满  
    群3:22166975 
    群4:40338953
    群5号40339019 满
    群6:12431253  满只有  3  4还有位置。。请大家加 3号 4号群。。 
    新手请上论坛学习  http://net.yybmw.cn学习文档 上论坛FTP站点下载这里是学习 交流的地方。请不要灌水或发广告。。违者 立封ID
      

  12.   

    hello_okay(Captain_James·Cook)  hello_okay兄,非常谢谢,现在应该找到问题点了,我传参数的时候限定了大小(自己汗...)
    aryCommand.Add(new System.Data.SqlClient.SqlParameter("@UploadPicture",System.Data.SqlDbType.VarBinary,2147483647,"UploadPicture"))这里 2147483647 之前给定太小了 最大可以指定多少?
      

  13.   

    你可以先看看是否完整,先不用存到datagrid里,先读出来保存到本地,看看时候完整,如果不完整,那是你数据库的问题和datagrid没有关系,如果完整,你可以这么弄
    gv_donation.Rows[i].Cells[1].Text=“”;“”里面加载图片,用html来控制他的宽和高,我那个是gridview的,你可以改成datagrid。
      

  14.   

    asp.net技术交流中心   
    群1:29156948 满  
    群2:44572142 满  
    群3:22166975 
    群4:40338953
    群5号40339019 满
    群6:12431253  满只有  3  4还有位置。。请大家加 3号 4号群。。 
    新手请上论坛学习  http://net.yybmw.cn学习文档 上论坛FTP站点下载这里是学习 交流的地方。请不要灌水或发广告。。违者 立封ID
      

  15.   

    hello_okay兄,问题解决了,thanks~~