All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
新手入门:IIS6环境下的PHP最佳配置方法_php资料_编程技术
SQL Server2005SQLCLR代码安全之权限_[SQL Server教程]
AJAX进度条_[AJAX教程]
2个页面间不通过Session与url的传值方式_[Asp.Net教程]
新手入门:PHP网站开发中常见问题汇总_php资料_编程技术
基于PHP的AJAX技术实现文件异步上传_php资料_编程技术
去掉ul全局配置及smarty的问题_php资料_编程技术
对PHP程序中的常见漏洞进行攻击_php资料_编程技术
XMLHTTP异步获取返回值的代码超时测试(AJAX)_[AJAX教程]
在ASP.NET中利用VWD操作数据库简介_[Asp.Net教程]
Reading number is top 10 pictures
A man's favorite things12
The real super beauty8
清纯性感的美眉2
The Soviet union swimsuit exposure in the 70 year1
30 beautiful school beauty4
这才是真正的人体艺术4
9.3阅兵全景图8-航空梯队
Black and white also sexy--YanLiu1
Household design of gorgeous series
The little girl with long hair2
Download software ranking
WebService在.NET中的实战应用教学视频 → 第1集
Jinling thirteen stock
Boxer vs Yellow4
网页特效实例大全
美女游泳记
Tram sex maniac 2 (H) rar bag6
Unix video tutorial18
Love the forty days
Proficient in Eclipse
Boxer vs Yellow1
归海一刀 published in(发表于) 2014/1/30 0:50:35 Edit(编辑)
.Net下二进制形式的文件(图片)的存储与读取_[Asp.Net教程]

.Net下二进制形式的文件(图片)的存储与读取_[Asp.Net教程]

.Net下二进制形式的文件(图片)的存储与读取_[Asp.Net教程]

.Net下二进制形式的文件(图片)的存储与读取,二进制形式的文件是很广的。这里我主要谈谈图片以二进制形式的数据读取和存储。

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


来源:http://www.cnblogs.com/Charles2008







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.