C#.net中怎么读写图片到数据库中
我想利用C#.net程序将图片内容不是名字直接写到数据库中,然后在从数据库中读数据转化为一张图片,,,可我只能想,不会做,谁能帮我实现一下,
我想利用C#.net程序将图片内容不是名字直接写到数据库中,然后在从数据库中读数据转化为一张图片,,,可我只能想,不会做,谁能帮我实现一下,
解决方案 »
- C#中关于Eval函数的问题
- 【WPF右键菜单】禁用和调用右键系统菜单
- VS2010水晶报表中对数字字段设置格式无效
- 求助一个算法问题——变量进行排序,然后返回结果变量名。
- 改变线程池ThreadPool的最大值问题
- C#在使用zxing的时候总是引发类型为“com.google.zxing.ReaderException”的异常。
- 请问一个将图片存入数据库的问题
- 怎么让控件通过安全策略
- (不死心,不信没人回)正值表达式搜索字符串匹配的的问题?
- 在.net里为什么js获取到的FileUpload的路径是C:\fakepath\ 无论怎么取都是C:\fakepath\+文件名
- c#关闭指定URL网页
- vs10里Find/Replace留下的痕迹怎么清除掉?
C# 存取SqlServer中的Image类型有时候我们需要将图片存到数库中的Imgae类型的字段下,以下是存取的两种方法:存:public void Save(){ using(System.IO.FileStream stream = new System.IO.FileStreamfile,System.IO.FileMode.Open,System.IO.FileAccess.Read) {
byte[] buffer = new byte[stream.Length];
stream.Read(buffer, 0, (int)stream.Length);
stream.Close();
string strName = System.IO.Path.GetFileNameWithoutExtension(file);
SqlCommand cmd = new SqlCommand("Insert into Temp(name,photo) values(@name,@image)", sqlConn);
cmd.Parameters.Add("@name", SqlDbType.VarChar).Value = strName;
cmd.Parameters.Add("@image", SqlDbType.Image).Value = buffer;
cmd.ExecuteNonQuery(); }}取:public void GetImage(){SqlCommand cmd = new SqlCommand(@"SELECT name, photo FROM Temp", sqlConn);
sqlConn.Open();
SqlDataReader reader = cmd .ExecuteReader();
if (reader.Read())
{
image_filename= (string) reader.GetValue(0);
byte[] image_bytes = (byte[]) reader.GetValue(1);
MemoryStream ms = new MemoryStream(image_bytes);
Bitmap bmap = new Bitmap(ms);
return bmap;}}
byte[] picbyte;
OpenFileDialog ofdSelectPic = new OpenFileDialog();
if (ofdSelectPic.ShowDialog() == DialogResult.OK)
{
if ((ms = ofdSelectPic.OpenFile()) != null)
{
picbyte = new byte[ms.Length];
ms.Position = 0;
ms.Read(picbyte, 0, Convert.ToInt32(ms.Length));
SqlConnection conn = new SqlConnection();
conn.ConnectionString = ""; sql = "Insert into Person(Photo) values(@Image)";
SqlCommand cmd = new SqlCommand(sql, conn); cmd.Parameters.Add("@Image", SqlDbType.VarBinary);
cmd.Parameters["@Image"].Value = picbyte; conn.Open();
cmd.ExecuteNonQuery();
conn.Close(); ms.Close();
}
} SqlConnection conn=new SqlConnection();
conn.ConnectionString="";
string strSql="";
SqlCommand cmd=new SqlCommand(strSql,conn);
conn.Open();
SqlDataReader reader=cmd.ExecuteReader();
reader.Read();
MemoryStream ms=new MemoryStream((byte[])reader["Photo"]);
Image image=Image.FromStream(ms,true);
reader.Close();
conn.Close();
picturebox1.Image=image;
FileStream mystream=new FileStream("D:\\A.jpg",FileMode.Open,FileAccess.Read);
long len=mystream.Length;
mycmd.Parameters.Add("@image",SqlDbType.Image,(int)len,"picture");
mycmd.Parameters["@image"].Direction=System.Data.ParameterDirection.Input;
byte []box=new byte[len];
mystream.Read(box,0,(int)len);
mycmd.Parameters["@image"].Value=box;