[原创] 在ASP.NET Web Application 中如何处理图片

 

老规矩,直接分析代码

首先是,建立一个表,字段类型是image

通常情况下,你会发现没有办法存image ,因为长度是50,不能改。而一个image通常是1000多个

image数据类型的长度是16,我存入一张图的时候图最多就只能30K左右,大点的图根本就不能存。我想改它的长度,但是不能改的。  
跑一下下面的语句:

  sp_tableoption   N'MyTable',   'text   in   row',   '1000'        只有执行过这一句Image类型的数据才起作用

其次,是将文件转化为二进制数据字节数组

       将文件转为二进制数据
        public static  byte[] PictureFileToByte(string picFilePath)
        {
            FileStream fs = new FileStream(picFilePath, FileMode.Open, FileAccess.Read);
            byte[] bytePhoto = new byte[fs.Length];
            fs.Read(bytePhoto, 0, (int)fs.Length);
            fs.Close();
            return bytePhoto;
        }

 

于是图片便存到数据库中去了。

 

读取

建立一个Image 控件,   Image.ImageUrl=Image.aspx?ID=2002

2002是数据库中存图片的表的行ID,

Image.aspx 中

 protected void Page_Load(object sender, EventArgs e)
    {
        string guid = Request.QueryString["ID"];
        if (guid != null)
        {
            Response.ClearContent();
            Response.ContentType = "image/jpeg";
            byte[] data = Utility.Picture(guid); 读出二进制数据字节
           Response.BinaryWrite((byte[])data);
        }

    }

 

这样就可以。

如有问题,请留言。

posted @ 2008-10-27 20:12  信息化建设  阅读(502)  评论(0编辑  收藏  举报