ASP.NET中常用功能代码总结(4)——保存图片到XML文件
整理:Terrylee
一.保存图片到XML文件
1
/**/
/// <summary>
2
/// 保存图片到XML文件
3
/// </summary>
4
private
void
UploadImageToXml()
5![](https://i-blog.csdnimg.cn/blog_migrate/d697c7f940cec91d060a69b7d6bfbabe.gif)
{
6![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
/**////得到用户要上传的文件名
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![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
{
14![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
/**////图象文件临时储存Byte数组
15
Byte[] FileByteArray = new Byte[FileLength];
16![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
17![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
/**////建立数据流对像
18
Stream StreamObject = loFile.PostedFile.InputStream;
19![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
20![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
/**////读取图象文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度
21
StreamObject.Read(FileByteArray,0,FileLength);
22![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
23![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
/**////要打开的文件
24
string fileName = Server.MapPath(".//WriteXml.xml");
25
26
XmlDocument xmlDoc = new XmlDocument();
27
xmlDoc.Load(fileName);
28![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
29![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
/**////查找<dbGuest>
30
XmlNode root=xmlDoc.SelectSingleNode("dbImage");
31
XmlNodeList xnl=xmlDoc.SelectSingleNode("dbImage").ChildNodes;
32
int nIndex = xnl.Count;
33![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
34![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
/**////以下添加新结点
35
XmlElement xe1=xmlDoc.CreateElement("Image");//创建一个<User>节点
36![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
37
XmlElement xesub1=xmlDoc.CreateElement("ImageID");
38
39![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
/**////设置文本节点
40
xesub1.InnerText=nIndex.ToString();
41![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
42![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
/**////添加到<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![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
/**////添加到<dbGuest>节点中
58
root.AppendChild(xe1);
59
xmlDoc.Save(fileName);
60
61
Response.Redirect("ShowAllImg.aspx");
62
}
63
catch(Exception ex)
64![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
{
65
throw ex;
66
}
67
}
![](https://i-blog.csdnimg.cn/blog_migrate/d697c7f940cec91d060a69b7d6bfbabe.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/78506ac88f008ceb6ff777ee2bfd9158.gif)
2
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
3
![](https://i-blog.csdnimg.cn/blog_migrate/f05bd14f49ac5a6f43870a45f107e35f.gif)
4
![](https://i-blog.csdnimg.cn/blog_migrate/a6269e9e4e1e1e402c7d02950e376da4.gif)
5
![](https://i-blog.csdnimg.cn/blog_migrate/d697c7f940cec91d060a69b7d6bfbabe.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/78506ac88f008ceb6ff777ee2bfd9158.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
6
![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/31fdd64eccd12495cef6cc0af57acfb4.gif)
7
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
8
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
9
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
10
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
11
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
12
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
13
![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/31fdd64eccd12495cef6cc0af57acfb4.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
14
![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/31fdd64eccd12495cef6cc0af57acfb4.gif)
15
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
16
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
17
![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/31fdd64eccd12495cef6cc0af57acfb4.gif)
18
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
19
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
20
![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/31fdd64eccd12495cef6cc0af57acfb4.gif)
21
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
22
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
23
![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/31fdd64eccd12495cef6cc0af57acfb4.gif)
24
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
25
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
26
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
27
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
28
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
29
![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/31fdd64eccd12495cef6cc0af57acfb4.gif)
30
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
31
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
32
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
33
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
34
![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/31fdd64eccd12495cef6cc0af57acfb4.gif)
35
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
36
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
37
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
38
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
39
![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/31fdd64eccd12495cef6cc0af57acfb4.gif)
40
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
41
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
42
![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/31fdd64eccd12495cef6cc0af57acfb4.gif)
43
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
44
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
45
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
46
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
47
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
48
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
49
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
50
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
51
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
52
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
53
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
54
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
55
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
56
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
57
![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/31fdd64eccd12495cef6cc0af57acfb4.gif)
58
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
59
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
60
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
61
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
62
![](https://i-blog.csdnimg.cn/blog_migrate/a5a207152d50285d2b642f684cd16367.gif)
63
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
64
![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/31fdd64eccd12495cef6cc0af57acfb4.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
65
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
66
![](https://i-blog.csdnimg.cn/blog_migrate/a5a207152d50285d2b642f684cd16367.gif)
67
![](https://i-blog.csdnimg.cn/blog_migrate/f05bd14f49ac5a6f43870a45f107e35f.gif)
二.从XML中读取图片数据
1
/**/
/// <summary>
2
/// 从XML中读取图片
3
/// </summary>
4
/// <param name="ImageID">图片ID</param>
5
private
void
ReadImageFromXml(
string
ImageID)
6![](https://i-blog.csdnimg.cn/blog_migrate/d697c7f940cec91d060a69b7d6bfbabe.gif)
{
7![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
/**////ID为图片ID
8
int ImgID = Convert.ToInt32(ImageID);
9![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
10![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
/**////要打开的文件
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![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
{
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![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
/**////设定输出文件类型
23
Response.ContentType = strType;
24![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
25![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
/**////输出图象文件二进制数制
26
Response.OutputStream.Write(Convert.FromBase64String(strData), 0, nSize);
27
Response.End();
28![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
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
}
![](https://i-blog.csdnimg.cn/blog_migrate/d697c7f940cec91d060a69b7d6bfbabe.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/78506ac88f008ceb6ff777ee2bfd9158.gif)
2
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
3
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
4
![](https://i-blog.csdnimg.cn/blog_migrate/f05bd14f49ac5a6f43870a45f107e35f.gif)
5
![](https://i-blog.csdnimg.cn/blog_migrate/a6269e9e4e1e1e402c7d02950e376da4.gif)
6
![](https://i-blog.csdnimg.cn/blog_migrate/d697c7f940cec91d060a69b7d6bfbabe.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/78506ac88f008ceb6ff777ee2bfd9158.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
7
![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/31fdd64eccd12495cef6cc0af57acfb4.gif)
8
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
9
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
10
![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/31fdd64eccd12495cef6cc0af57acfb4.gif)
11
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
12
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
13
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
14
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
15
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
16
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
17
![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/31fdd64eccd12495cef6cc0af57acfb4.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
18
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
19
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
20
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
21
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
22
![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/31fdd64eccd12495cef6cc0af57acfb4.gif)
23
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
24
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
25
![](https://i-blog.csdnimg.cn/blog_migrate/b19221674ccfeaa2be2f33591a26176a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/31fdd64eccd12495cef6cc0af57acfb4.gif)
26
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
27
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
28
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
29
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
30
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
31
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
32
![](https://i-blog.csdnimg.cn/blog_migrate/c8d2e4b59017133d33aed64f31183d35.gif)
33
![](https://i-blog.csdnimg.cn/blog_migrate/a5a207152d50285d2b642f684cd16367.gif)
34
![](https://i-blog.csdnimg.cn/blog_migrate/f05bd14f49ac5a6f43870a45f107e35f.gif)