发布于 2016-06-02 01:08:15 | 115 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

ASP.NET

ASP.NET 是.NET FrameWork的一部分,是一项微软公司的技术,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们。 指 Active Server Pages(动态服务器页面) ,运行于 IIS(Internet Information Server 服务,是Windows开发的Web服务器)之中的程序 。


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

二.从XML中读取图片数据

 
/// <summary> 
/// 从XML中读取图片 
/// </summary> 
/// <param name="ImageID">图片ID</param> 
private void ReadImageFromXml(string ImageID) 
{ 
///ID为图片ID 
int ImgID = Convert.ToInt32(ImageID); 

///要打开的文件 
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(); 
} 
} 


最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务