底层框架都是好的 创建调用 Create(Entity);修改调用Edit(Entity);
Entity里面有条字段为System.Drawing.Image 类型的数据。
现在我要用这个别人写好的这个方法来存储这条字段。想了好多办法,都没实现。
请教~~~~~~~~~~~~~~~~~
最开始思路是先上传一张图片,然后把这个图片解析成二进制数据。做到最后发现做不下去了~~~~~~~~~~~~
Entity里面有条字段为System.Drawing.Image 类型的数据。
现在我要用这个别人写好的这个方法来存储这条字段。想了好多办法,都没实现。
请教~~~~~~~~~~~~~~~~~
最开始思路是先上传一张图片,然后把这个图片解析成二进制数据。做到最后发现做不下去了~~~~~~~~~~~~
一般保存路径
FileStream fs = new FileStream(fileName, FileMode.Open);
int streamLength = (int)fs.Length;
byte[] image = new byte[streamLength];
fs.Read(image, 0, streamLength);
fs.Close();
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();
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);
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