将一个图片以二进制值的形式存入Xml文件中

选择自 xinyuxin912 的 Blog

将一个图片以二进制值的形式存入xml文件中

try   {    int readByte = 0;        
//    int bytesToRead = 100;       
//数据缓冲区大小    
string fileName = "../../WriteXml.xml";   
//要打开的文件    
//   this.textBox1.Text = string.Empty;           
    // 打开图片文件,利用该图片构造一个文件流    
    FileStream fs = new FileStream("../../001.jpg",FileMode.Open);    
    // 使用文件流构造一个二进制读取器将基元数据读作二进制值    
    BinaryReader br = new BinaryReader(fs);
     XmlTextWriter xmlTxtWt = new XmlTextWriter(fileName,Encoding.UTF8);    
     //输出设置 代码缩进    
     xmlTxtWt.Formatting = Formatting.Indented;    
     //   
     xmlTxtWt.Indentation = 4;
    //书写声明    
    xmlTxtWt.WriteStartDocument();    
    xmlTxtWt.WriteStartElement("picture","ContactDetails","http://www.deltabis.com/Contact");//定义命名空间    
    xmlTxtWt.WriteStartElement("image");            
    //定义节点    
    xmlTxtWt.WriteAttributeString("imageName","002.jpg");        
    //添加图片属性
    byte[] base64buffer = new byte[bytesToRead];          
    //开辟缓冲区    
    do    
    {     
    readByte = br.Read(base64buffer,0,bytesToRead);      
    //将数据读入字节数组      
    xmlTxtWt.WriteBase64(base64buffer,0,readByte);       
    //将数组中二进制值编码为Base64并写出到XML文件
    }while(bytesToRead <= readByte);
     xmlTxtWt.WriteEndElement();    
     xmlTxtWt.WriteEndElement();    
     xmlTxtWt.WriteEndDocument();
 //    
 xmlTxtWt.Flush();    
 xmlTxtWt.Close();
    MessageBox.Show("读写结束!");
    //   
    this.textBox1.Text = ReadXml(fileName);   
    }   
    catch(Exception ex)   
    {    
    MessageBox.Show(ex.ToString());   
    }

以上就是将一个图片以二进制值的形式存入Xml文件中的内容,更多相关内容请关注硕下网()!