Asp.Net教程,WinForm教程,Asp.Net MVC,vs2008教程,vs2010教程,Silverlight技术,源码下载,Asp.Net视频教程
全站热门标签
vs2010 Silverlight 存储过程 水晶报表 ADO.NET JavaScript LINQ AjaxPro DataGridView 面向对象 Extjs GridView XML DevExpress HTML教程 Oracle jQuery 分页 GDI+ Visual C++2010 MySQL Office2010 WPF MVC Dojo WCF4.0 VB.NET Sql2005 textbox cookie WCF WinForm Discuz!NT SQL经典语句 T-SQL checkbox ASPxGridView F# asp.net SQL VS2008新特性 DropDownList Access TreeView Ajax VS2008 页面执行时间 Flex 字符串 回调 VB2005 DataSet C#时间 ASP.NET性能优化 用户在线检测 动画
尚未分类 LINQ教程 Enterprise技术 性能优化/调试 水晶报表与打印 安全与加密图形图像 文件处理 基础教程 Web Services 内置对象 控件示例 正则表达式\采集 ADO.NET 缓存\泛型\线程 XML技术 Url重写\静态页 vs2008综合教程
当前位置: 主页 > ASP.NET教程 > 图形图像 >

.Net下二进制形式的文件(图片)的存储与读取

时间:2010-08-29 09:42来源:未知 作者:admin 点击:

看到标题,二进制形式的文件是很广的。这里我主要谈谈图片以二进制形式的数据读取和存储。
.Net下图片的常见存储与读取凡是有以下几种:
存储图片:以二进制的形式存储图片时,要把数据库中的字段设置为Image数据类型(SQL Server),存储的数据是Byte[].
1.参数是图片路径:返回Byte[]类型:  public byte[] GetPictureData(string imagepath)
        {
            /**/////根据图片文件的路径使用文件流打开,并保存为byte[]  
            FileStream fs = new FileStream(imagepath, FileMode.Open);//可以是其他重载方法
            byte[] byData = new byte[fs.Length];
            fs.Read(byData, 0, byData.Length);
            fs.Close();
            return byData;
        }2.参数类型是Image对象,返回Byte[]类型:  public byte[] PhotoImageInsert(System.Drawing.Image imgPhoto)
        {
            //将Image转换成流数据,并保存为byte[]  
            MemoryStream mstream = new MemoryStream();
            imgPhoto.Save(mstream, System.Drawing.Imaging.ImageFormat.Bmp);
            byte[] byData = new Byte[mstream.Length];
            mstream.Position = 0;
            mstream.Read(byData, 0, byData.Length);
            mstream.Close();
            return byData;
        }好了,这样通过上面的方法就可以把图片转换成Byte[]对象,然后就把这个对象保存到数据库中去就实现了把图片的二进制格式保存到数据库中去了。下面我就谈谈如何把数据库中的图片读取出来,实际上这是一个相反的过程。
读取图片:把相应的字段转换成Byte[]即:Byte[] bt=(Byte[])XXXX
1.参数是Byte[]类型,返回值是Image对象:  public System.Drawing.Image ReturnPhoto(byte[] streamByte)
        {
            System.IO.MemoryStream ms = new System.IO.MemoryStream(streamByte);
            System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
            return img;
        }2.参数是Byte[] 类型,没有返回值,这是针对asp.net中把图片从输出到网页上(Response.BinaryWrite)
 public void WritePhoto(byte[] streamByte)
        {
            // Response.ContentType 的默认值为默认值为“text/html”
            Response.ContentType = "image/GIF";
            //图片输出的类型有: image/GIF  image/JPEG
            Response.BinaryWrite(streamByte);
        }补充:
针对Response.ContentType的值,除了针对图片的类型外,还有其他的类型:      

       Response.ContentType = "application/msword";
            Response.ContentType = "application/x-shockwave-flash";
            Response.ContentType = "application/vnd.ms-excel";另外可以针对不同的格式,用不同的输出类型以适合不同的类型:   switch (dataread("document_type"))
            {
                case "doc":
                    Response.ContentType = "application/msword";
                case "swf":
                    Response.ContentType = "application/x-shockwave-flash";
                case "xls":
                    Response.ContentType = "application/vnd.ms-excel";
                case "gif":
                    Response.ContentType = "image/gif";
                case "Jpg":
                    Response.ContentType = "image/jpeg";
            }

(责任编辑:admin)
Tags:文件存储
责任编辑:admin
返回顶部
------分隔线----------------------------
推荐内容
骆驼户外男 真皮磨砂日常休闲鞋 低帮 2011秋冬新款 专柜正品特价 骆驼户外男 真皮磨砂日常休闲鞋 低帮 2011秋冬新款 专柜正品特价
  • 绘制几何图形:使用android.graphics类

    如何在和机上绘制2D图形呢?这是许多android游戏开发都是常提到的问题,在android SDK 当中,并没有Java Graphics2D的函数可以使用,...

  • .Net下二进制形式的文件(图片)的存储与读取

    看到标题,二进制形式的文件是很广的。这里我主要谈谈图片以二进制形式的数据读取和存储。 .Net下图片的常见存储与读取凡是有以下几种: 存储图片:以二进制的形式存...

  • C#图片验证码破解

    1 public class GetImageValue 2 { 3 // 设定图片RGB字符串 4 string []ArrayList = new stri...

  • ASP.NET画图系列之实现Curve图(曲线图)

    ASP.NET画图系列,今天要实现的是Curve图,如果各位朋友有什么不明白的可以留言或Email给我,我的Email:gfreesky@gmail.com 废...

  • ASP.NET画图系列之实现Bar图(柱状图)

    前面已经实现了Pie和Curve图,今天我们来实现Bar,就是柱状图,这个的实现和前面2种基本上差不多,还是让我们先看看效果再说. 效果图: 下面开始页面部分:...

  • ASP.NET画图系列之实现Pie图(圆饼图)

    ASP.NET自身提供的画图功能也是很强大的,在实际的项目中有时也会经常用到的,实现这样的功能方法很多,诸如水晶报表之类也可以实现,但有时我们只想实现单一的某些...

  • ASP.NET 2.0 HttpHandler实现生成图片验证码(示例代码下载)

    学习整理了一下 (一).功能 用HttpHandler实现图片验证码 (二).代码如下 1. 处理程序文件 ValidateImageHandler.ashx代...

  • 两种获取灰度图像的方法

    在图像处理程序开发中,常会遇到将一幅彩色图像转换成灰度图像的情况,笔者在最近的一个项目中便遇到了这点。经过一翻努力最终解决,想想有必要分享一下,于是便写下此文。...

  • Asp.net网页截图的实现方法

    源代码如下: using System; using System.Drawing; using System.Drawing.Imaging; using S...

  • ASP.NET图片渐变轮换效果

    一.静态的 HTML HEAD title图片渐变轮换效果/title meta name=generator content=editplus meta na...

  • ASP.NET添加水印(从Discuz!Nt挖出来的)

    这是从 Discuz!Nt 挖出来的代码 添加水印的强大代码。功能很强大。可以添加图片水印和文字水印两种 编写也很好。添加进去的效果非常好。 供大家欣赏 现在就...

  • ASP.NET2.0图片格式转换

    第一步:打开页面 第二步:选择一副Jpg格式的图片 第三步:转换为GIF格式,明显看出图片画质降低。 后台代码: using System; using Sys...

  • 添加文字水印类代码

    usingSystem; usingSystem.Collections.Generic; usingSystem.Text; usingSystem.Draw...

  • ASP.NET生成随机验证码示例

    常用的生成验证码程序,图片效果如下: 源程序如下: using System; using System.Drawing; using System.Drawi...