找回密码
 立即注册

QQ登录

只需一步,快速开始

szpzr

高级会员

139

主题

554

帖子

1763

积分

高级会员

积分
1763

活字格认证

szpzr
高级会员   /  发表于:2017-9-24 09:31  /   查看:4225  /  回复:8
版主:请教,单元格第一行显示的图片和数据库存入的图片不一致?            
    //显示图片
                SqlStr = "Select A.[NoteNo] as 申请单号,A.SubNoteNo as 子号,B.ProjectName as 项目单位,B.Content as 项目内容,";
                SqlStr = SqlStr + "A.AppendixType as 附件类型,A.Remarks as 说明, A.[FileType] as 文件类型,A.[FileTitle] as 文件标题,A.NoteFile as 图片  ";
                SqlStr = SqlStr + " FROM [PurchaseApplyFile] A ,PurchaseApply B ";
                SqlStr = SqlStr + " where A.NoteNo=B.NoteNo and A.NoteNo='"+ TxtNoteNo .Text +"' Order By A.NoteNo,A.SubNoteNo ";
                Da = new SqlDataAdapter(SqlStr, Sqlcon);
                Ds = new DataSet();
                Da.Fill(Ds, "PurchaseApplyFile");
                if (Ds.Tables[0].Rows.Count > 0)
                {
                    FpSpreadFile.DataSource = Ds.Tables[0];
                    FpSpreadFile.DataBind();
                    FpSpreadFile.Sheets[0].Columns[8].Width = 200;
                    for (int I = 0; I < Ds.Tables[0].Rows.Count; I++)
                    {
                        //string FileType = Ds.Tables[0].Rows[I][6].ToString ();
                        if (Convert .ToString ( Ds.Tables [0].Rows[I][6].ToString ())=="image/jpeg")
                        {
                            byte[] photo = new byte[0];
                            photo = (byte[])Ds.Tables[0].Rows[I][8];
                            TypeConverter tc = TypeDescriptor.GetConverter(typeof(Bitmap));
                            Bitmap bm = (Bitmap)tc.ConvertFrom(photo);
                            string FileName = "~/Image/Image" + (I + 1).ToString() + ".jpg";
                            if (File.Exists(FileName))
                            {
                                try
                                {
                                    File.Delete(FileName);
                                }
                                catch (Exception ex)
                                {
                                    throw ex;
                                }
                            }
                            bm.Save(Server.MapPath(FileName));
                            FpSpreadFile.ActiveSheetView.Cells[I, 8].Value = null;
                            FarPoint.Web.Spread.ImageCellType ict = new FarPoint.Web.Spread.ImageCellType();
                            FpSpreadFile.ActiveSheetView.Cells[I, 8].CellType = ict;
                            ict.TextOnRight = false;
                            ict.ImageAlign = ImageAlign.AbsMiddle;
                            //ict.ImageUrl = "~/Image/Image" + (I + 1).ToString() + ".jpg";
                            ict.ImageUrl = FileName;
                            ict.CssClass = "test";
                        }
                        
                    }
                    
                }
                FpSpreadFile.SaveChanges();
                Ds.Dispose();
                Da.Dispose();

捕获.PNG

8 个回复

倒序浏览
szpzr
高级会员   /  发表于:2017-9-24 09:33:09
沙发
实际的图片
捕获.PNG
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-9-25 15:30:20
板凳
您好,您哪里用的什么版本,我这里模拟您的操作没有重现问题。
建议您提供一个可以重现问题的Demo。 将数据库操作取消掉,直接读取您保存到服务器上的临时图片
回复 使用道具 举报
szpzr
高级会员   /  发表于:2017-9-25 15:53:23
地板
Version=9.40.20153.0,代码有问题吗?
回复 使用道具 举报
szpzr
高级会员   /  发表于:2017-9-25 16:17:41
5#
开发环境会出现问题,发布到服务器执行服务器程序是对的,为何?
回复 使用道具 举报
szpzr
高级会员   /  发表于:2017-9-25 16:24:13
6#
代码中的FileName设置应该怎样才对?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-9-25 17:07:11
7#
   ict.ImageUrl  就是一个文件的网络路径,相对路径或者绝对路径都可以。
回复 使用道具 举报
szpzr
高级会员   /  发表于:2017-9-25 17:08:39
8#
如何设置才能使开发环境正确显示图片?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-9-25 17:38:44
9#
这个看您项目具体设置了, 只要浏览器能访问这个图片就可以。
比如ImageUrl可以是任何一个外链的图片。

            FarPoint.Web.Spread.ImageCellType ict1 = new FarPoint.Web.Spread.ImageCellType();
            ict1.ImageUrl = "http://gcdn.gcpowertools.com.cn/uc_server/data/avatar/000/03/17/20_avatar_middle.jpg";
            FpSpread1.ActiveSheetView.Cells[1, 0].CellType = ict1;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部