Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2215553
  • 博文数量: 252
  • 博客积分: 5472
  • 博客等级: 大校
  • 技术积分: 3107
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-17 18:39
文章分类

全部博文(252)

文章存档

2012年(96)

2011年(156)

分类: Java

2012-07-04 00:23:57

1.将Image图像文件存入到数据库中 我们知道数据库里的Image类型的数据是"二进制数据",因此必须将图像文件转换成字节数组才能存入数据库中. 
 //根据文件名(完全路径) 

  1. public byte[] SetImageToByteArray(string fileName) {
  2.  
  3. FileStream fs = new FileStream(fileName, FileMode.Open);
  4. int streamLength = (int)fs.Length; 
  5. byte[] image = new byte[streamLength]; 
  6. fs.Read(image, 0, streamLength); 
  7. fs.Close();
  8. return image;
  9. }

 //另外,在ASP.NET中通过FileUpload控件得到的图像文件可以通过以下方法 

  1. public byte[] SetImageToByteArray(FileUpload FileUpload1)
  2. {
  3. Stream stream = FileUpload1.PostedFile.InputStream; 
  4. byte[] photo = new byte[FileUpload1.PostedFile.ContentLength]; 
  5. stream.Read(photo, 0, FileUpload1.PostedFile.ContentLength); 
  6. stream.Close(); 
  7. return photo; 
  8. }


 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图像类型 
//加载以下命名空间

  1. using System.Drawing;
  2. using System.IO;
  3. using System.Data.SqlClient;
  4.  public Image SetByteToImage(byte[] mybyte)
  5.  {
  6.  Image image;
  7.  MemoryStream mymemorystream = new MemoryStream(mybyte,0, mybyte.Length);
  8.  image = Image.FromStream(mymemorystream);
  9.  return image;
  10.  }

阅读(7366) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~