xml文件中存取BASE64编码的图片

2009-10-03 22:50

http://www.cnblogs.com/czhgllome/archive/2009/08/03/1537816.html

string imageFileName = @"C:/pic/lilies.jpg";
   try
   {
    XmlTextWriter writer;
    string strFilename = Server.MapPath("data1.xml") ;
    writer = new XmlTextWriter(strFilename,Encoding.Default);
    //Start writing the XML document
    writer.Formatting = Formatting.Indented;
    writer.WriteStartDocument();
    writer.WriteStartElement("employee");                   
    writer.WriteStartElement("image");
   
    //Get the size of the file
    FileInfo fi = new FileInfo(imageFileName);
    int size = (int)fi.Length;                          
   
    //Read the JPEG file   
    byte[] imgs = new byte[size];
    FileStream fs = new FileStream(imageFileName,FileMode.Open);
    BinaryReader reader = new BinaryReader(fs);
    imgs = reader.ReadBytes(size);
    reader.Close();

    writer.WriteBase64(imgs, 0, size);                      
   
    writer.WriteEndElement();
    writer.WriteEndElement();                  
    writer.WriteEndDocument();
    writer.Flush();
   }     
   catch (Exception ex)
   {
    throw ex;
   }

从xml文件读取BASE64编码的图片。

 string file = @"D:/UploadImage/abc.gif";
    XmlDocument doc = new XmlDocument();
   doc.Load(Server.MapPath("data1.xml"));
   byte[] Img =
Convert.FromBase64String(doc.SelectSingleNode("/employee/image").InnerText);
   MemoryStream ms = new MemoryStream(Img);
   Bitmap b = (Bitmap)System.Drawing.Image.FromStream(ms);
   b.Save(file,System.Drawing.Imaging.ImageFormat.Gif);

   #region 另一种方法创建文件
   int length = Img.Length;
   FileStream fs = new FileStream(file, FileMode.Create, FileAccess.Write);
   fs.Write(Img, 0, length);
   fs.Flush();
   fs.Close();
   #endregion

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值