111,130
社区成员
发帖
与我相关
我的任务
分享
...
FileStream fs = new FileStream(ptname,FileMode.Open,FileAccess.Read);
byte[] b = new byte[fs.Length];
fs.Read(b, 0, Convert.ToInt32(fs.Length));
si.saveim(txtid.Text.Trim(),b); //存储过程 功能保存图片
fs.Close();
MessageBox.Show("祝贺你,保存完毕");
...
[code]
这边是输出图片的代码片段
[code=C#]
...
byte[] mydata = new byte[0];
db.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = db.Conn;
cmd.CommandText = "select image from item where itemid='" + txtid.Text.Trim()+"'";
SqlDataReader sdr = cmd.ExecuteReader();
sdr.Read();
mydata = (byte[])sdr["image"];
MemoryStream ms = new MemoryStream(mydata);
ms.Position = 0;
Image img = Image.FromStream(ms,true); //显示图片的时候,总是提示这一句出错,说是参数类型错误
ptimage.Image = img;
ms.Close();
db.Close();
...
public void saveim(string itemid,byte[] ptname)
{
Database db=new Database();
try
{
SqlParameter[] par={
db.MakeInParam("@itemid",SqlDbType.VarChar,50,itemid),
db.MakeInParam("@image",SqlDbType.Image,16,ptname)
};
db.RunProc("saveimage",par);
}
catch(Exception e)
{
Error.Log(e.ToString());
}
}
上面的函数都是事先封装好的其他的调用都正常,没有问题。