把图片保存到数据库,并读出来.
2008-02-01 10:28
218 查看
一、把图片保存到数据库,这里要分成两步:
1)把图片存入到一个字节数组中(byte[])这里要把它的数据读入到数组中:
/// <summary>
/// 用图片控件取到它的图片数据流
/// </summary>
/// <param name="change_pics">控件HtmlInputFile的控件名</param>
/// <param name="msg">返回的信息</param>
/// <param name="FileLength">文件大小</param>
/// <returns></returns>
public byte[] IntoPics(HtmlInputFile change_pics,out string msg,out int FileLength)
{
FileLength=0;
string FileName=change_pics.Value;
FileLength=change_pics.PostedFile.ContentLength;
if(FileLength==0)
{
msg="NoFile";
}
else
{
string exName=FileName.Substring(FileName.LastIndexOf(".")+1);
if(exName=="jpg"||exName=="bmp"||exName=="gif"||exName=="JPG"||exName=="BMP"||exName=="GIF")
{
if(FileLength>204800)
{
msg="TooBigFile";
}
else
{
// string ImgeName=DateTime.Now.ToString()+"."+exName;//文件名
byte [] Filebyte=new byte[FileLength];//图片数据
Stream infostream=change_pics.PostedFile.InputStream;
infostream.Read(Filebyte,0,FileLength);
msg="RightFile";
return Filebyte;
}
}
else
{
msg="ErroyLastName";
}
}
return null;
}
2)把这个字节流的数组存入到数据库,
string M;
int Len;
byte[] pic=this.IntoPics(change_pics,out M,out Len);
string sql="insert into 表(列1,列2,图片列) values('第一列数据','第二列数据',@Image)";
SqlCommand com=new SqlCommand(sql,sqlconn);
com.Parameters.Add("@Image",SqlDbType.Binary,Len).Value=pic;
com.ExecuteNonQuery();//执行SQL
这样就把图片作为二进制的数据存入了数据库,
接下来是把它读出来:
二、读出图片:
注意;这是是将图片读出到页面上,让它显示出来。所以肯定要新建一个页面(UserPic):
先定义一句SQL
string strcom="SELECT HeadSelf FROM Users WHERE Userid='"+Request["Userid"]+"'";
SqlCommand com=new SqlCommand(strcom,sqlconn);//和下面的一行可以在类中建个方法
SqlDataReader read=com.ExecuteReader();
while(dr.Read())
{
Response.BinaryWrite((byte[])dr["HeadSelf"]);
}
这样,在别的地方如果要显示图片,可以在页面上放一个Image控件,再把它的ImageUrl 属性改到这个页面上来,如:
User_Image.ImageUrl="UserPic.aspx?Userid="+UserID;
1)把图片存入到一个字节数组中(byte[])这里要把它的数据读入到数组中:
/// <summary>
/// 用图片控件取到它的图片数据流
/// </summary>
/// <param name="change_pics">控件HtmlInputFile的控件名</param>
/// <param name="msg">返回的信息</param>
/// <param name="FileLength">文件大小</param>
/// <returns></returns>
public byte[] IntoPics(HtmlInputFile change_pics,out string msg,out int FileLength)
{
FileLength=0;
string FileName=change_pics.Value;
FileLength=change_pics.PostedFile.ContentLength;
if(FileLength==0)
{
msg="NoFile";
}
else
{
string exName=FileName.Substring(FileName.LastIndexOf(".")+1);
if(exName=="jpg"||exName=="bmp"||exName=="gif"||exName=="JPG"||exName=="BMP"||exName=="GIF")
{
if(FileLength>204800)
{
msg="TooBigFile";
}
else
{
// string ImgeName=DateTime.Now.ToString()+"."+exName;//文件名
byte [] Filebyte=new byte[FileLength];//图片数据
Stream infostream=change_pics.PostedFile.InputStream;
infostream.Read(Filebyte,0,FileLength);
msg="RightFile";
return Filebyte;
}
}
else
{
msg="ErroyLastName";
}
}
return null;
}
2)把这个字节流的数组存入到数据库,
string M;
int Len;
byte[] pic=this.IntoPics(change_pics,out M,out Len);
string sql="insert into 表(列1,列2,图片列) values('第一列数据','第二列数据',@Image)";
SqlCommand com=new SqlCommand(sql,sqlconn);
com.Parameters.Add("@Image",SqlDbType.Binary,Len).Value=pic;
com.ExecuteNonQuery();//执行SQL
这样就把图片作为二进制的数据存入了数据库,
接下来是把它读出来:
二、读出图片:
注意;这是是将图片读出到页面上,让它显示出来。所以肯定要新建一个页面(UserPic):
先定义一句SQL
string strcom="SELECT HeadSelf FROM Users WHERE Userid='"+Request["Userid"]+"'";
SqlCommand com=new SqlCommand(strcom,sqlconn);//和下面的一行可以在类中建个方法
SqlDataReader read=com.ExecuteReader();
while(dr.Read())
{
Response.BinaryWrite((byte[])dr["HeadSelf"]);
}
这样,在别的地方如果要显示图片,可以在页面上放一个Image控件,再把它的ImageUrl 属性改到这个页面上来,如:
User_Image.ImageUrl="UserPic.aspx?Userid="+UserID;
相关文章推荐
- WPF中把图片保存到数据库,并且从数据库提取出来显示
- WPF中把图片保存到数据库,并从数据库提取出来显示
- Java实现头像截取裁剪后图片保存,获取的是base64数据,怎么转换为图片并保存到数据库。并读取出来。
- 图片怎么保存到数据库, 以及怎么把图片从数据库中取出来使用?
- c# winform 把数据库里读取出来的图片保存到本地硬盘上,图片下载
- Win form 在pictureBox控件中实现选择图片然后以二进制方式保存到数据库。以及在pictureBox控件显示出来
- 把图片以二进制流保存到数据库并且读出来,显示
- C# 用二进制将图片保存在数据库里再读出来显示在pictureBox中
- Tapestry 怎样从数据库中保存的图片显示出来。
- Winform下如何上传图片并显示出来。同时保存到数据库
- 数据库保存图片
- 【原创】php无框架webuploader上传图片以base64形式保存到数据库
- 保存图片信息到数据库,并可读取后显示在前端
- resty.upload 处理上传的图片 并把生成的url保存到数据库中
- 基于Android实现保存图片到本地并可以在相册中显示出来
- VB读取本地图片并保存到数据库中
- C#上传图片到根目录并保存图片名到数据库表里
- asp.net上传图片保存到数据库的代码
- Struts2 图片上传 hibernate保存图片于数据库 。。
- C#保存文件及图片到数据库中