【发布时间】:2011-05-27 09:25:00
【问题描述】:
我需要你的帮助来解决这个问题。
我正在尝试将这张图片 alb.picture 插入到 DB 中。要使用MemoryStream,我是否错过了一些在这里阅读的内容。
代码不会返回任何错误,但它只是插入 0X00000 并检索 (select * ....),它在网格中显示一个空白。其余的字段,created_date 和 @987654324 @ 在网格显示期间很好。
foreach (Album alb in albms.data)
{
alb.picture = "https://graph.facebook.com/" + alb.id +
"/picture/?access_token=" + Token;
MemoryStream ms = new MemoryStream(1000);
string sfn = alb.picture;
m_lImageFileLength = alb.picture.Length;
m_barrImg = new Byte[Convert.ToInt32(m_lImageFileLength)];
ms.Read(m_barrImg, 0, (int)m_lImageFileLength);
objBLL.insert_FacebookPhotos(Convert.ToInt64(ui.id), m_barrImg,
alb.created_time.ToString(), alb.updated_time.ToString());
}
非常感谢
SC
【问题讨论】:
-
您正在从(空)
MemoryStream读取到(空)新byte[])。实际数据在哪里? -
还有;在第一行中,您将
string分配给alb.picture;然后稍后您似乎将此 string 的Length流式传输为数据的大小(请参阅:m_lImageFileLength = alb.picture.Length;)。再说一遍:实际数据在哪里? -
您实际上并没有从服务器读取图像。通读你的代码并在纸上“运行”,写下每一行在做什么,你会看到你失败的地方。然后查看 HTTPWebRequest 和 HTTPWebResponse 对象来弥补差距。
标签: c# sql-server