欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-03-31 21:18:42
...
选择自 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文件中的内容,更多相关内容请关注PHP中文网(www.php.cn)!