分享

图片转化为二进制数据,并显示出来

 orion360doc 2011-06-26

图片转化为二进制数据,并显示出来

2009-12-04 17:32:29|  分类: 默认分类 |  标签:图片转化为二进制数据     字号: 订阅

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;
        } 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多