保存图片到XML文件
2007-01-12 16:44
441 查看
一.保存图片到XML文件
1
/**//// <summary>
2
/// 保存图片到XML文件
3
/// </summary>
4
private 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中读取图片数据
1
/**//// <summary>
2
/// 从XML中读取图片
3
/// </summary>
4
/// <param name="ImageID">图片ID</param>
5
private 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
}
1
/**//// <summary>
2
/// 保存图片到XML文件
3
/// </summary>
4
private 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中读取图片数据
1
/**//// <summary>
2
/// 从XML中读取图片
3
/// </summary>
4
/// <param name="ImageID">图片ID</param>
5
private 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文件
- 将图片保存到一个XML文件
- Qt将图片保存为XML文件或者变为QSting
- C# 图片文件保存到XML中
- 将图片保存到一个XML文件
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- 将图片保存到XML文件中
- 将图片保存到一个XML文件
- 将图片保存到一个XML文件
- (轉)将图片保存到XML文件中
- 用 XML 文件持久化和恢复图片信息
- tif文件下载 保存成图片,或图片保存
- 反编译apk生成程序的源代码和图片、XML配置、语言资源等文件
- Android 反编译得到图片、XML配置、语言资源等文件
- Android图片添加水印图片并把图片保存到文件存储的实现代码
- 刮刮乐效果、生成图片文件、在XML
- 如何将S/4HANA系统存储的图片文件用Java程序保存到本地
- Fresco 保存gif文件及图片到本地
- 将数据库中表的数据保存到XML文件中
- C# 将数据保存进xml文件