ASP.Net 照片数据(二进制数据)读取和写入简单举例
//保存照片数据
public int SavePhoto(string photeFile)
{
//读取文件流
FileStream fs = new FileStream(photeFile,FileMode.Open,FileAccess.Read);
BinaryReader reader =new BinaryReader(fs);
byte[] photo = reader.ReadBytes((int)fs.Length);
reader.Close();
fs.Close();
string sql = "update student set zhaopian=@zhaopian where xuehao=‘001‘";
DataTable dt = new DataTable();
SqlConnection conn = new SqlConnection();
conn.ConnectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True";
SqlCommand command = new SqlCommand(sql, conn);
SqlParameter parm = new SqlParameter("@zhaopian", photo);
command.Parameters.Add(parm);
try
{
conn.Open();
return command.ExecuteNonQuery();
}
catch (SqlException ex)
{
return -1;
}
finally
{
conn.Close();
}
}
//读取二进制数据 重新保存为新文件,新文件和旧文件大小相同
public void ReadPhoto(string photeFile)
{
string sql = "select zhaopian from student where xuehao=‘001‘";
SqlConnection conn = new SqlConnection();
conn.ConnectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True";
SqlCommand command = new SqlCommand(sql,conn);
try
{
conn.Open();
SqlDataReader reader = command.ExecuteReader();
while(reader.Read())
{
byte[] photo = reader[0] as byte[];
FileStream fs = new FileStream(photeFile,FileMode.CreateNew);
fs.Write(photo,0,photo.Length);
fs.Close();
}
reader.Close();
}
catch (SqlException ex)
{
}
finally
{
conn.Close();
}
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。