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

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

将一个图片以二进制值的形式存入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());

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航