图片保存为二进制值到XML
2007-10-29 10:02
218 查看
//////////////////////////存
XmlDocument myXmlDoc = new XmlDocument();
myXmlDoc.LoadXml("picture");
XmlElement elem = myXmlDoc.CreateElement("image");
// 打开图片文件,利用该图片构造一个文件流
FileStream fs = new FileStream("../../001.jpg",FileMode.Open);
// 使用文件流构造一个二进制读取器将基元数据读作二进制值
BinaryReader br = new BinaryReader(fs);
byte[] imageBuffer = new byte[br.BaseStream.Length];
br.Read(imageBuffer,0,Convert.ToInt32(br.BaseStream.Length));
string textString = System.Convert.ToBase64String(imageBuffer);
fs.Close();
br.Close();
XmlText text = myXmlDoc.CreateTextNode(textString);
myXmlDoc.DocumentElement.AppendChild(elem);
myXmlDoc.DocumentElement.LastChild.AppendChild(text);
myXmlDoc.Save("../../docSave.xml");
///////////////////////////////读
int readByte = 0;
int bytesToRead = 1044;
XmlTextReader xmlTxtRd = new XmlTextReader("../../docSave.xml");
FileStream fs = new FileStream("../../002.jpg",FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs);
byte[] base64buffer = new byte[bytesToRead];
while(xmlTxtRd.Read())
{
if (xmlTxtRd.NodeType == XmlNodeType.Element && xmlTxtRd.Name == "image")
{
do
{
readByte = xmlTxtRd.ReadBase64(base64buffer,0,bytesToRead);
bw.Write(base64buffer,0,readByte);
}while( bytesToRead<= readByte);
}
}
bw.Flush();
bw.Close();
fs.Close();
xmlTxtRd.Close();
XmlDocument myXmlDoc = new XmlDocument();
myXmlDoc.LoadXml("picture");
XmlElement elem = myXmlDoc.CreateElement("image");
// 打开图片文件,利用该图片构造一个文件流
FileStream fs = new FileStream("../../001.jpg",FileMode.Open);
// 使用文件流构造一个二进制读取器将基元数据读作二进制值
BinaryReader br = new BinaryReader(fs);
byte[] imageBuffer = new byte[br.BaseStream.Length];
br.Read(imageBuffer,0,Convert.ToInt32(br.BaseStream.Length));
string textString = System.Convert.ToBase64String(imageBuffer);
fs.Close();
br.Close();
XmlText text = myXmlDoc.CreateTextNode(textString);
myXmlDoc.DocumentElement.AppendChild(elem);
myXmlDoc.DocumentElement.LastChild.AppendChild(text);
myXmlDoc.Save("../../docSave.xml");
///////////////////////////////读
int readByte = 0;
int bytesToRead = 1044;
XmlTextReader xmlTxtRd = new XmlTextReader("../../docSave.xml");
FileStream fs = new FileStream("../../002.jpg",FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs);
byte[] base64buffer = new byte[bytesToRead];
while(xmlTxtRd.Read())
{
if (xmlTxtRd.NodeType == XmlNodeType.Element && xmlTxtRd.Name == "image")
{
do
{
readByte = xmlTxtRd.ReadBase64(base64buffer,0,bytesToRead);
bw.Write(base64buffer,0,readByte);
}while( bytesToRead<= readByte);
}
}
bw.Flush();
bw.Close();
fs.Close();
xmlTxtRd.Close();
相关文章推荐
- C#将图片转换二进制保存至Xml
- 图片保存为二进制值到XML
- C#将图片转换二进制保存至Xml
- C#将图片转换二进制保存至Xml
- Qt将图片保存为XML文件或者变为QSting
- C编写以二进制读取文件(任意格式eg :图片),保存到C语言数据格式的TXT文档
- winform保存二进制图片到oracle
- 如何将数据库二进制图片保存到硬盘上
- 将图片的二进制文件存入xml文件。
- 将图片保存到一个XML文件
- 将图片保存成二进制,十六进制,六十四位编码方法
- ASP.NET中常用功能代码总结(4)——保存图片到XML文件
- php将图片以二进制保存到mysql数据库并显示
- xml保存图片和读取图片
- 以二进制方式读取图片保存到string
- ASP.NET上传图片以二进制保存到数据库
- java servlet获取上传图片以二进制保存到MySQL中,读取Mysql保存的二进制图片
- 二进制图片保存为jpg文件
- 使用XMLHttpRequest获取二进制数据显示图片
- java图片保存在xml里