求大神帮忙
我在写一个图片存取到数据库的代码,我把图片存进去了!当我要取出来的的时候就发现了这个问题!求各位大神帮忙解决!! --------------------编程问答-------------------- 你那dt.get()返回的是什么? --------------------编程问答-------------------- 你确认ms中的数据是有效的图片数据?是图片还是图片的地址? --------------------编程问答-------------------- public List<byte[]> Get()
{
SqlConnection sc = GetConnection();
try
{
sc.Open();
SqlCommand cmd = new SqlCommand("select images from tb_image", sc);
return GetList(cmd.ExecuteReader());
}
catch (Exception ex)
{
return null;
}
finally
{
if (sc.State == ConnectionState.Open)
{
sc.Close();
}
}
} --------------------编程问答-------------------- return GetList(cmd.ExecuteReader());
GetList 又是怎样的? --------------------编程问答-------------------- 说明流的内容不能被Image识别 --------------------编程问答--------------------
你取出来的图片数据是放在List<byte[]>里面的
然后你用每个List元素里面的byte[]来构造一个图片那肯定不行了,那只是图片的一部分而已 --------------------编程问答--------------------
图片数据 --------------------编程问答--------------------
private List<byte[]> GetList(SqlDataReader sdr)
{
List<byte[]> lbt = new List<byte[]>();
while (sdr.Read())
{
lbt.Add((byte[])sdr[0]);
}
return lbt;
} --------------------编程问答--------------------
那要怎么办 --------------------编程问答--------------------
这样写倒没什么问题
你在
System.IO.MemoryStream ms = new System.IO.MemoryStream(v);
这行上面加上
File.WriteAllBytes("C:\\x.jpg", v);
然后调试,等到出错的地方,你先观察下 v.Length 是多少,再到 C 盘下看看 x.jpg 文件能不能正常打开显示 --------------------编程问答-------------------- 详细信息里写的啥? --------------------编程问答-------------------- 保存图标到文件夹,List存地址! --------------------编程问答--------------------
要先把你的List<byte[]>转成byte[]
然后memorystream
然后image.fromsream
http://topic.csdn.net/u/20101027/10/297D87A3-12FC-477B-B249-E1C48C1E7225.html --------------------编程问答--------------------
你看 8 楼 --------------------编程问答--------------------
我看过都是0,0
补充:.NET技术 , C#