存储Image到XML:
Byte[] FileByteArray = new Byte[FileLength];
//图象文件临时储存Byte数组
    Stream StreamObject = loFile.PostedFile.InputStream; //建立数据流对像
    //读取图象文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度
    StreamObject.Read(FileByteArray,0,FileLength);

string fileName = Server.MapPath(".\\WriteXml.xml");   //要打开的文件
    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load(fileName);

XmlNode root=xmlDoc.SelectSingleNode("dbImage");//查找<dbGuest>
    XmlNodeList xnl=xmlDoc.SelectSingleNode("dbImage").ChildNodes;
    int nIndex = xnl.Count;

//以下添加新结点
    XmlElement xe1=xmlDoc.CreateElement("Image");//创建一个<User>节点
    XmlElement xesub1=xmlDoc.CreateElement("ImageID");
    xesub1.InnerText=nIndex.ToString();//设置文本节点
    xe1.AppendChild(xesub1);//添加到<User>节点中
    XmlElement xesub2=xmlDoc.CreateElement("ImageContentType");
    xesub2.InnerText=loFile.PostedFile.ContentType;
    xe1.AppendChild(xesub2);
    XmlElement xesub3=xmlDoc.CreateElement("ImageSize");
    xesub3.InnerText=FileLength.ToString();
    xe1.AppendChild(xesub3);
    XmlElement xesub4=xmlDoc.CreateElement("ImageDescription");
    xesub4.InnerText=tbDescription.Text;
    xe1.AppendChild(xesub4);
    XmlElement xesub5=xmlDoc.CreateElement("ImageData");
    xesub5.InnerText= Convert.ToBase64String(FileByteArray);
    xe1.AppendChild(xesub5);

    root.AppendChild(xe1);//添加到<dbGuest>节点中
    xmlDoc.Save(fileName);

显示Image:

int ImgID = Convert.ToInt32(Request.QueryString["ID"]); //ID为图片ID
   //建立数据库链接
   string fileName = Server.MapPath(".\\WriteXml.xml");   //要打开的文件
   
   XmlDocument xmlDoc = new XmlDocument();
   xmlDoc.Load(fileName);
   XmlNodeList node =  xmlDoc.SelectSingleNode("//Image[ImageID='"+ImgID.ToString()+"']").ChildNodes;
   if(node!=null)
   {
    string strType = node.Item(1).InnerText;
    string strData =node.Item(4).InnerText;
    int nSize = int.Parse(node.Item(2).InnerText);

    Response.ContentType = strType;//设定输出文件类型
    //输出图象文件二进制数制
    Response.OutputStream.Write(Convert.FromBase64String(strData), 0, nSize);
    Response.End();

    //也可以保存为图像
    //   FileStream fs = new FileStream(@"C:\aa.BMP", FileMode.OpenOrCreate, FileAccess.Write);
    //   fs.Write((Convert.FromBase64String(strData), 0,nSize);
    //   fs.Close();
   }

转载于:https://www.cnblogs.com/RobotTech/archive/2006/10/23/537162.html

存储Image到XML、显示Image相关推荐

  1. 数据库存储图片路径并显示到前端

    数据库存储图片路径并显示到前端 -为啥不直接存图片:因为图片本身太大了,虽然存取方便了程序员,但对数据库不友好.所以采取存取路径,再根据路径解析的方法. 一.数据库表设计: 从以上思想出发,需要存图片 ...

  2. Android数据存储——2.文件存储_C_DOM解析XML文档

    今天学习Android数据存储--文件存储_DOM解析XML文档 位于org.w3c.dom操作XML会比较简单,就是将XML看做是一颗树,DOM就是对这颗树的一个数据结构的描述,但对大型XML文件效 ...

  3. maven中pom.xml显示不正常的问题

    对于初学maven的人来说,配置环境是一件十分烦恼的事,本人也表示十分痛心,就自己遇到的问题做一下整理,方便后续学者有帮助可寻. 我遇到的问题是,在自认为maven配置无误之后,发现pom.xml显示 ...

  4. PKM2数据导出的xml显示用的XSL

    为什么80%的码农都做不了架构师?>>>    PKM2数据导出的xml显示用的XSL. PKM2这个个人知识管理软件相信很多人用过,可以把数据导出为chm电子书,但是不知道为什么倒 ...

  5. 医学图象存储、检索和显示的新技术及新动向

    医学图象存储.检索和显示的新技术及新动向 2010年01月09日 一.从成像装置的发展看PACS的存储系统 PACS 的发展缘于二个因素:一是医院影象设备的发展从而使放射科图象数据量激增:二是对付这些 ...

  6. 信息技术是指利用电子计算机和现代通信手段实现获取、传递、存储、处理、显示、分配信

    信息技术是指利用电子计算机和现代通信手段实现获取.传递.存储.处理.显示.分配信息等的相关技术

  7. 微信昵称在数据库存储处理,解决显示乱码方案

    微信昵称在数据库存储处理,解决显示乱码方案 原理:我们先将微信昵称编码存入数据库,显示的时候解码,就可以避免数据库无法直接存储微信昵称中的特殊字符. 一.定义编码解码类 <?php /*** C ...

  8. xml显示浏览器标签_浅析浏览器书签的导入和导出

    浏览器有个实用的功能,但是可能用的频率不高,就是书签/收藏的导入和导出,因为现在一般浏览器都有云同步功能,所以这个功能存在感不强. 浏览器书签是可以跨不同的浏览器导入的,所以意味着导出的文件肯定是有一 ...

  9. c语言存储学生信息并显示,C语言实现学生信息管理程序

    本文实例为大家分享了C语言实现学生信息管理程序的具体代码,供大家参考,具体内容如下 目前只有5个功能 1. 增加学生信息 2. 删除学生信息 3. 查询某学生信息 4. 列出所有学生信息 5. 按出生 ...

最新文章

  1. ipsec协议_网工知识角轻松学网络|三分钟了解PPPOE协议
  2. 光滑噪声数据常用的方法_九大常用数据分析方法汇总
  3. mac terminal常用命令接触
  4. 7-CPU Reset
  5. vue响应的res.data和res.data.data
  6. OpenJDK作为Linux上的默认Java
  7. 【火炉炼AI】机器学习040-NLP性别判断分类器
  8. 七年级上册计算机教学反思,七年级信息技术上册教学反思
  9. EDA技术实用教程 | 复习八 | 多位加法器的行为级描述
  10. 图片生成链接最简单的方法
  11. C语言变量及其生命周期
  12. python汽车_Python 小车代码
  13. python大学生信息管理系统_基于Python的高等学校社团信息管理系统
  14. linux 实验心得体会
  15. Windows XP 缩略图不显示文件名
  16. 049--python--多人聊天室案例
  17. 深度网络中的上采样总结
  18. Element-UI可编辑表格的实现
  19. 博易大师数据导出工具
  20. CTA-861标准解析EDID的VSDB与VDB

热门文章

  1. Hadoop详解(三):HDFS完全分布式环境搭建
  2. Java设计模式(四):工厂设计模式
  3. 现代操作系统:第三章 内存管理
  4. c语言 offsetof函数,C 库宏 - offsetof()函数
  5. python安装包之后仍提示_解决已经安装requests,却依然提示No module named requests问题...
  6. kali桥接模式无法上网_听没听过用手机接路由器上网?
  7. openstack云主机无法绑定ip_智汇华云|OpenStack 虚拟机 GPU 性能优化
  8. c++ 句柄 计算控件坐标_练习答案|| 计算机基础第【28】期
  9. Redis复制的高可用详解
  10. (GIT)代码分支管理策略