ASP.NET中常用功能代码总结(4)——保存图片到XML文件
来源:互联网 发布:孔浩java视频 编辑:程序博客网 时间:2024/05/18 02:58
一.保存图片到XML文件
1/// <summary>
2/// 保存图片到XML文件
3/// </summary>
4private void UploadImageToXml()
5{
6 ///得到用户要上传的文件名
7 string strFilePathName = loFile.PostedFile.FileName;
8 string strFileName = Path.GetFileName(strFilePathName);
9 int FileLength = loFile.PostedFile.ContentLength;
10 if(FileLength<=0)
11 return;
12 try
13 {
14 ///图象文件临时储存Byte数组
15 Byte[] FileByteArray = new Byte[FileLength];
16
17 ///建立数据流对像
18 Stream StreamObject = loFile.PostedFile.InputStream;
19
20 ///读取图象文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度
21 StreamObject.Read(FileByteArray,0,FileLength);
22
23 ///要打开的文件
24 string fileName = Server.MapPath(".//WriteXml.xml");
25
26 XmlDocument xmlDoc = new XmlDocument();
27 xmlDoc.Load(fileName);
28
29 ///查找<dbGuest>
30 XmlNode root=xmlDoc.SelectSingleNode("dbImage");
31 XmlNodeList xnl=xmlDoc.SelectSingleNode("dbImage").ChildNodes;
32 int nIndex = xnl.Count;
33
34 ///以下添加新结点
35 XmlElement xe1=xmlDoc.CreateElement("Image");//创建一个<User>节点
36
37 XmlElement xesub1=xmlDoc.CreateElement("ImageID");
38
39 ///设置文本节点
40 xesub1.InnerText=nIndex.ToString();
41
42 ///添加到<User>节点中
43 xe1.AppendChild(xesub1);
44 XmlElement xesub2=xmlDoc.CreateElement("ImageContentType");
45 xesub2.InnerText=loFile.PostedFile.ContentType;
46 xe1.AppendChild(xesub2);
47 XmlElement xesub3=xmlDoc.CreateElement("ImageSize");
48 xesub3.InnerText=FileLength.ToString();
49 xe1.AppendChild(xesub3);
50 XmlElement xesub4=xmlDoc.CreateElement("ImageDescription");
51 xesub4.InnerText=tbDescription.Text;
52 xe1.AppendChild(xesub4);
53 XmlElement xesub5=xmlDoc.CreateElement("ImageData");
54 xesub5.InnerText= Convert.ToBase64String(FileByteArray);
55 xe1.AppendChild(xesub5);
56
57 ///添加到<dbGuest>节点中
58 root.AppendChild(xe1);
59 xmlDoc.Save(fileName);
60
61 Response.Redirect("ShowAllImg.aspx");
62 }
63 catch(Exception ex)
64 {
65 throw ex;
66 }
67}
2/// 保存图片到XML文件
3/// </summary>
4private void UploadImageToXml()
5{
6 ///得到用户要上传的文件名
7 string strFilePathName = loFile.PostedFile.FileName;
8 string strFileName = Path.GetFileName(strFilePathName);
9 int FileLength = loFile.PostedFile.ContentLength;
10 if(FileLength<=0)
11 return;
12 try
13 {
14 ///图象文件临时储存Byte数组
15 Byte[] FileByteArray = new Byte[FileLength];
16
17 ///建立数据流对像
18 Stream StreamObject = loFile.PostedFile.InputStream;
19
20 ///读取图象文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度
21 StreamObject.Read(FileByteArray,0,FileLength);
22
23 ///要打开的文件
24 string fileName = Server.MapPath(".//WriteXml.xml");
25
26 XmlDocument xmlDoc = new XmlDocument();
27 xmlDoc.Load(fileName);
28
29 ///查找<dbGuest>
30 XmlNode root=xmlDoc.SelectSingleNode("dbImage");
31 XmlNodeList xnl=xmlDoc.SelectSingleNode("dbImage").ChildNodes;
32 int nIndex = xnl.Count;
33
34 ///以下添加新结点
35 XmlElement xe1=xmlDoc.CreateElement("Image");//创建一个<User>节点
36
37 XmlElement xesub1=xmlDoc.CreateElement("ImageID");
38
39 ///设置文本节点
40 xesub1.InnerText=nIndex.ToString();
41
42 ///添加到<User>节点中
43 xe1.AppendChild(xesub1);
44 XmlElement xesub2=xmlDoc.CreateElement("ImageContentType");
45 xesub2.InnerText=loFile.PostedFile.ContentType;
46 xe1.AppendChild(xesub2);
47 XmlElement xesub3=xmlDoc.CreateElement("ImageSize");
48 xesub3.InnerText=FileLength.ToString();
49 xe1.AppendChild(xesub3);
50 XmlElement xesub4=xmlDoc.CreateElement("ImageDescription");
51 xesub4.InnerText=tbDescription.Text;
52 xe1.AppendChild(xesub4);
53 XmlElement xesub5=xmlDoc.CreateElement("ImageData");
54 xesub5.InnerText= Convert.ToBase64String(FileByteArray);
55 xe1.AppendChild(xesub5);
56
57 ///添加到<dbGuest>节点中
58 root.AppendChild(xe1);
59 xmlDoc.Save(fileName);
60
61 Response.Redirect("ShowAllImg.aspx");
62 }
63 catch(Exception ex)
64 {
65 throw ex;
66 }
67}
二.从XML中读取图片数据
作者:TerryLee
出处:http://terrylee.cnblogs.com
出处:http://terrylee.cnblogs.com
1/// <summary>
2/// 从XML中读取图片
3/// </summary>
4/// <param name="ImageID">图片ID</param>
5private void ReadImageFromXml(string ImageID)
6{
7 ///ID为图片ID
8 int ImgID = Convert.ToInt32(ImageID);
9
10 ///要打开的文件
11 string fileName = Server.MapPath(".//WriteXml.xml");
12
13 XmlDocument xmlDoc = new XmlDocument();
14 xmlDoc.Load(fileName);
15 XmlNodeList node = xmlDoc.SelectSingleNode("//Image[ImageID='"+ImgID.ToString()+"']").ChildNodes;
16 if(node!=null)
17 {
18 string strType = node.Item(1).InnerText;
19 string strData =node.Item(4).InnerText;
20 int nSize = int.Parse(node.Item(2).InnerText);
21
22 ///设定输出文件类型
23 Response.ContentType = strType;
24
25 ///输出图象文件二进制数制
26 Response.OutputStream.Write(Convert.FromBase64String(strData), 0, nSize);
27 Response.End();
28
29 //也可以保存为图像
30 //FileStream fs = new FileStream(@"C:/aa.BMP", FileMode.OpenOrCreate, FileAccess.Write);
31 //fs.Write((Convert.FromBase64String(strData), 0,nSize);
32 //fs.Close();
33 }
34}
2/// 从XML中读取图片
3/// </summary>
4/// <param name="ImageID">图片ID</param>
5private void ReadImageFromXml(string ImageID)
6{
7 ///ID为图片ID
8 int ImgID = Convert.ToInt32(ImageID);
9
10 ///要打开的文件
11 string fileName = Server.MapPath(".//WriteXml.xml");
12
13 XmlDocument xmlDoc = new XmlDocument();
14 xmlDoc.Load(fileName);
15 XmlNodeList node = xmlDoc.SelectSingleNode("//Image[ImageID='"+ImgID.ToString()+"']").ChildNodes;
16 if(node!=null)
17 {
18 string strType = node.Item(1).InnerText;
19 string strData =node.Item(4).InnerText;
20 int nSize = int.Parse(node.Item(2).InnerText);
21
22 ///设定输出文件类型
23 Response.ContentType = strType;
24
25 ///输出图象文件二进制数制
26 Response.OutputStream.Write(Convert.FromBase64String(strData), 0, nSize);
27 Response.End();
28
29 //也可以保存为图像
30 //FileStream fs = new FileStream(@"C:/aa.BMP", FileMode.OpenOrCreate, FileAccess.Write);
31 //fs.Write((Convert.FromBase64String(strData), 0,nSize);
32 //fs.Close();
33 }
34}
- ASP.NET中常用功能代码总结(4)——保存图片到XML文件
- ASP.NET中常用功能代码总结(4)——保存图片到XML文件
- ASP.NET中常用功能代码总结(4)——保存图片到XML文件
- ASP.NET中常用功能代码总结(保存图片到XML文件)
- ASP.NET中常用功能代码总结(3)——上传图片到数据库
- ASP.NET中常用功能代码总结(3)——上传图片到数据库
- ASP.NET中常用功能代码总结(3)——上传图片到数据库
- ASP.NET中常用功能代码总结(6)——XML文件操作篇
- ASP.NET中常用功能代码总结(6)——XML文件操作篇
- ASP.NET中常用功能代码总结(6)——XML文件操作篇
- ASP.NET中常用功能代码总结——上传图片到数据库
- ASP.NET中常用功能代码总结——上传图片到数据库
- ASP.NET中常用功能代码总结——XML文件操作篇
- ASP.NET中常用功能代码总结(2)——生成验证图片
- ASP.NET中常用功能代码总结(2)——生成验证图片
- ASP.NET中常用功能代码总结(2)——生成验证图片
- ASP.NET中常用功能代码总结(5)——文件操作篇
- ASP.NET中常用功能代码总结(5)——文件操作篇
- 毕业的日子
- 利用ArcGIS制作地图数据准备
- Eclipse tomcat 环境的搭建
- "淘宝开放平台"可以成为程序员的摇钱树吗?
- 给大家漏一手本人亲自精心撰写的通用ajax框架,完全兼容 IE FireFox各个版本!(附完整源码及完整范例)
- ASP.NET中常用功能代码总结(4)——保存图片到XML文件
- linux动态链接库的创建与使用
- UltraWinGrid自适应列宽/行高
- 给大家漏一手本人亲自精心撰写的通用ajax框架,完全兼容 IE FireFox各个版本!(附完整源码及完整范例)
- 利用C#实现inch和cm的互换(含源码)
- 13个不可不知的ASP.NET MVC扩展点
- JS document.createElement 动态添加表
- 新征程
- ASP.NET中常用功能代码总结(5)——文件操作篇