数据库中Image类型的数据的存取(ForC#ASP.NET)1.将Image图像⽂件存⼊到数据库中
我们知道数据库⾥的Image类型的数据是"⼆进制数据",因此必须将图像⽂件转换成字节数组才能存⼊数据库中.
要这⾥有关数据的操作略写,我将⼀些代码段写成⽅法,⽅便直接调⽤.
1//根据⽂件名(完全路径)
2public byte[] SetImageToByteArray(string fileName)
3    {
4        FileStream fs = new FileStream(fileName, FileMode.Open);
5int streamLength = (int)fs.Length;
asp 字符串转数组
6byte[] image = new byte[streamLength];
7        fs.Read(image, 0, streamLength);
8        fs.Close();
9return image;
10    }
11
12//另外,在ASP.NET中通过FileUpload控件得到的图像⽂件可以通过以下⽅法
13public byte[] SetImageToByteArray(FileUpload FileUpload1)
14    {
15        Stream stream = FileUpload1.PostedFile.InputStream;
16byte[] photo = new byte[FileUpload1.PostedFile.ContentLength];
17        stream.Read(photo, 0, FileUpload1.PostedFile.ContentLength);
18        stream.Close();
19return photo;
20    }
2.从SQL Server数据库读取Image类型的数据,并转换成bytes[]或Image图像⽂件
1//要使⽤SqlDataReader要加载using System.Data.SqlClient命名空间
2//将数据库中的Image类型转换成byte[]
3public byte[] SetImage(SqlDataReader reader)
4        {
5return (byte[])reader["Image"];//Image为数据库中存放Image类型字段
6        }
7
8//将byte[]转换成Image图像类型
9//加载以下命名空间using System.Drawing;/using System.IO;
10using System.Data.SqlClient;*/
11public Image SetByteToImage(byte[] mybyte)
12        {
13          Image image;
14            MemoryStream mymemorystream = new MemoryStream(mybyte,0, mybyte.Length);
15          image = Image.FromStream(mymemorystream);
16return image;
17        }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。