1.将Image图像文件存入到数据库中
我们知道数据库里的Image类型的数据是"二进制数据",因此必须将图像文件转换成字节数组才能存入数据库中.
//根据文件名(完全路径)
- public byte[] SetImageToByteArray(string fileName) {
-
- FileStream fs = new FileStream(fileName, FileMode.Open);
- int streamLength = (int)fs.Length;
- byte[] image = new byte[streamLength];
- fs.Read(image, 0, streamLength);
- fs.Close();
- return image;
- }
//另外,在ASP.NET中通过FileUpload控件得到的图像文件可以通过以下方法
- public byte[] SetImageToByteArray(FileUpload FileUpload1)
- {
- Stream stream = FileUpload1.PostedFile.InputStream;
- byte[] photo = new byte[FileUpload1.PostedFile.ContentLength];
- stream.Read(photo, 0, FileUpload1.PostedFile.ContentLength);
- stream.Close();
- return photo;
- }
2.从SQL Server数据库读取Image类型的数据,并转换成bytes[]或Image图像文件
//要使用SqlDataReader要加载using System.Data.SqlClient命名空间
//将数据库中的Image类型转换成byte[]
public byte[] SetImage(SqlDataReader reader)
{
return (byte[])reader["Image"];
//Image为数据库中存放Image类型字段
}
//将byte[]转换成Image图像类型
//加载以下命名空间
- using System.Drawing;
- using System.IO;
- using System.Data.SqlClient;
- public Image SetByteToImage(byte[] mybyte)
- {
- Image image;
- MemoryStream mymemorystream = new MemoryStream(mybyte,0, mybyte.Length);
- image = Image.FromStream(mymemorystream);
- return image;
- }
阅读(7741) | 评论(0) | 转发(1) |