当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 将一个图片以二进制值的形式存入Xml文件中

ASP.NET
ASP.NET FORUMS换肤流程
关于webservice的异步调用简单实例
nhibernate数据加载之Criteria加载
C# 把指定控件显示在最上面
VB面向对象编程的一个简单的演示程序
关于如何利用COM+,来提高ASP执行权限的问题!
ASP.NET跨应用程序进行登录的解决
在快捷方式的右键菜单上添加打开所在目录的菜单项
XML简明教程(一)
使用自定义的数据源进行DataGrid控件的数据绑定
提供两种散列加密算法:MD5、SHA1。大小写敏感
把鼠标放在Form的边缘上不会出现可拉动
The custom tool 'CrystalDecisions.VSDesigner.CodeGen.ReportCodeGenerator' failed
Split的用法
利用XSD生成強類型類文件和描述文件
关于datagrid中的字符串转换
C#中来应用Hook
Get your Crystal report working on your customers server (Cannot find Keycod...
C#中如何插入照片到Excel
.net中Web自定义控件编写注意事项

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 83 ::
收藏到网摘: n/a

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());
   }