@@@@@@@@@@@@反序列化后附件不能使用-

zyhappy1688 2009-05-26 10:29:59
MAIN:

string a = this.ToXmlString(ds.Tables[0]); //序列化
DataSet dss = this.ToDataSet(a); //反序列化
byte[] blob = System.Text.Encoding.UTF8.GetBytes(dss.Tables[0].Rows[0]["Affix"].ToString());
问题 出在这句,因为我图片在库中以IMAGE的形式保存,序列化可以,反序列化后出现问题了,图片显示不了,我该怎么改?
FileStream fs = new FileStream("c:\\b.jpeg", FileMode.OpenOrCreate, FileAccess.Write);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write((byte[])blob);

序列化
public string ToXmlString(DataTable table)
{
StringBuilder content = new StringBuilder();
StringWriter writer = new StringWriter(content);
XmlTextWriter xmlwriter = new XmlTextWriter(writer);

DataSet ds = new DataSet();
ds.Tables.Add(table.Copy());
ds.WriteXml(xmlwriter);
return content.ToString();
}

反序列化
public DataSet ToDataSet(string xmlstream)
{
StringReader reader = new StringReader(xmlstream);
XmlTextReader xmlreader = new XmlTextReader(reader);
DataSet ds = new DataSet();
ds.ReadXml(xmlreader);
return ds;
}
...全文
55 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
光宇广贞 2009-05-27
  • 打赏
  • 举报
回复
]["Affix"].ToString());

你这个,一个tostring,那么返回的,就是 "System.Byte[]" 这么一个东西了。

不应该这么写。我不知道你的affix是个什么类型的东西。总之,用它自己的对应的转byte[]的方法,而不是tostring。
zyhappy1688 2009-05-27
  • 打赏
  • 举报
回复
回8楼
第一行的ds.Tables[0] 里面包含4个字段 ID,NAME,DATE,AFFIX(附件)
光宇广贞 2009-05-27
  • 打赏
  • 举报
回复
感谢帮顶的?

再顶一个!

第一行的 ds.Tables[0] 是什么东西?图片么?不应该吧。
zyhappy1688 2009-05-26
  • 打赏
  • 举报
回复
没人知道吗?如果知道的请赐教啊
zyhappy1688 2009-05-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zgke 的回复:]
更换一种解决方法把 WriteXml会把Bitmap转化成System.DrawImage.Bitmap byte[]会转换成System.Byte[]

你可以考虑转换为二进数据 然后Base64下.
[/Quote]

能否在具体些呢!感谢回复.
与帮顶的所以朋友们
zhaoweiting0609 2009-05-26
  • 打赏
  • 举报
回复
不清楚,关注一下
薪水 2009-05-26
  • 打赏
  • 举报
回复
友情帮顶
zgke 2009-05-26
  • 打赏
  • 举报
回复
更换一种解决方法把 WriteXml会把Bitmap转化成System.DrawImage.Bitmap byte[]会转换成System.Byte[]

你可以考虑转换为二进数据 然后Base64下.
jmh521 2009-05-26
  • 打赏
  • 举报
回复
学习一下,帮顶。

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧