底层框架都是好的 创建调用 Create(Entity);修改调用Edit(Entity);
Entity里面有条字段为System.Drawing.Image 类型的数据。
现在我要用这个别人写好的这个方法来存储这条字段。想了好多办法,都没实现。
请教~~~~~~~~~~~~~~~~~
最开始思路是先上传一张图片,然后把这个图片解析成二进制数据。做到最后发现做不下去了~~~~~~~~~~~~

解决方案 »

  1.   

    image 使用二进制操作byte[]
    一般保存路径
    FileStream fs = new FileStream(fileName, FileMode.Open);
    int streamLength = (int)fs.Length;
    byte[] image = new byte[streamLength];
    fs.Read(image, 0, streamLength);
    fs.Close();
      

  2.   


     string strFilePath = @"c:\a.jpg";
                       
                        FileStream fs = new FileStream(strPicPath, FileMode.Open, FileAccess.Read);
                        int filelength = (int)fs.Length;    //获得文件长度 
                        if (filelength > 0 && filelength <= 102400) //判断文件大小
                        {
                            Byte[] fl = new Byte[filelength];   //建立一个字节数组 
                            fs.Read(fl, 0, filelength);         //按字节流读取 
                            user.photo = fl;
                            dbuser.Update(user);
                        }
                        fs.Close(); 
      

  3.   

    问题解决了,二楼的比较相似,所以分给你了
    string fileName = this.GenFileName();//获取文件名
    SHANGPINInfo sp = new SHANGPIN().GetEntity(guid);Stream ImageStream;
    string Path = fileName;// 文件名称
    int Size = FileLoadIMG.PostedFile.ContentLength; // 文件大小
    string Type = FileLoadIMG.PostedFile.ContentType; // 文件类型
    ImageStream = FileLoadIMG.PostedFile.InputStream;
    sp.Images = System.Drawing.Image.FromStream(ImageStream);
    new SHANGPIN().Update(sp);
      

  4.   

     FileInfo fi = new FileInfo(Server.MapPath("./logo.jpg"));
            FileStream fs = fi.OpenRead();
            byte[] bytes = new byte[fs.Length];
            fs.Read(bytes, 0, Convert.ToInt32(fs.Length));        SqlConnection cn = new SqlConnection();
            cn.ConnectionString = "server=.;uid=sa;pwd=XX;database=table";
            cn.Open();
            SqlCommand cm = new SqlCommand();
            cm.Connection = cn;
            cm.CommandText = "insert tb values(1,@file)";
            cm.Parameters.Add("@file", SqlDbType.Image);
            cm.Parameters["@file"].Value = bytes;
            cm.ExecuteNonQuery();
    //数据库字段为Image类型.或VarBinary