当前位置导航:炫浪网>>网络学院>>网页制作>>ASP.NET教程

将图片保存到XML文件的方法

  一.保存图片到XML文件

  /// <summary>

  /// 保存图片到XML文件

  /// </summary>

  private void UploadImageToXml()

  {

  ///得到用户要上传的文件名

  string strFilePathName = loFile.PostedFile.FileName;

  string strFileName = Path.GetFileName(strFilePathName);

  int FileLength = loFile.PostedFile.ContentLength;

  if(FileLength<=0)

  return;

  try

  {

  ///图象文件临时储存Byte数组

  Byte[] FileByteArray = new Byte[FileLength];

  ///建立数据流对像

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

  ///查找<dbGuest>

  XmlNode root=xmlDoc.SelectSingleNode("dbImage");

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

  ///添加到<User>节点中

  xe1.AppendChild(xesub1);

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

  ///添加到<dbGuest>节点中

  root.AppendChild(xe1);

  xmlDoc.Save(fileName);

  Response.Redirect("ShowAllImg.aspx");

  }

  catch(Exception ex)

  {

  throw ex;

  }

  }

相关内容
赞助商链接