当前位置:编程学习 > C#/ASP.NET >>

求大神帮忙


 
我在写一个图片存取到数据库的代码,我把图片存进去了!当我要取出来的的时候就发现了这个问题!求各位大神帮忙解决!! --------------------编程问答-------------------- 你那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识别 --------------------编程问答--------------------
引用 3 楼  的回复:
public List<byte[]> Get()
        {
            SqlConnection sc = GetConnection();
            try
            {
                sc.Open();
                SqlCommand cmd = new SqlCommand("sel……


你取出来的图片数据是放在List<byte[]>里面的
然后你用每个List元素里面的byte[]来构造一个图片那肯定不行了,那只是图片的一部分而已 --------------------编程问答--------------------
引用 2 楼  的回复:
你确认ms中的数据是有效的图片数据?是图片还是图片的地址?


图片数据 --------------------编程问答--------------------
引用 4 楼  的回复:
return GetList(cmd.ExecuteReader());
GetList 又是怎样的?


   private List<byte[]> GetList(SqlDataReader sdr)
        {
            List<byte[]> lbt = new List<byte[]>();
            while (sdr.Read())
            {
                lbt.Add((byte[])sdr[0]);
            }
            return lbt;
        } --------------------编程问答--------------------
引用 6 楼  的回复:
引用 3 楼 的回复:

public List<byte[]> Get()
{
SqlConnection sc = GetConnection();
try
{
sc.Open();
SqlCommand cmd = new SqlCommand("sel……


你取出来的图片数据是放在List<byte[]>里面的
然后你用每个List元素里面的byte[]来构造一……


那要怎么办 --------------------编程问答--------------------
引用 8 楼  的回复:
引用 4 楼 的回复:
return GetList(cmd.ExecuteReader());
GetList 又是怎样的?


  private List<byte[]> GetList(SqlDataReader sdr)
  {
  List<byte[]> lbt = new List<byte[]>();
  while (sdr.Read())
  {
  lb……

这样写倒没什么问题
你在
System.IO.MemoryStream ms = new System.IO.MemoryStream(v);
这行上面加上
File.WriteAllBytes("C:\\x.jpg", v);
然后调试,等到出错的地方,你先观察下 v.Length 是多少,再到 C 盘下看看 x.jpg 文件能不能正常打开显示 --------------------编程问答-------------------- 详细信息里写的啥? --------------------编程问答-------------------- 保存图标到文件夹,List存地址! --------------------编程问答--------------------
引用 9 楼  的回复:
引用 6 楼  的回复:
引用 3 楼 的回复:

public List<byte[]> Get()
{
SqlConnection sc = GetConnection();
try
{
sc.Open();
SqlCommand cmd = new SqlCommand("sel……


你取出来的图片数据是放在List<byte[]>里面的
然后你用每个List……


要先把你的List<byte[]>转成byte[]

然后memorystream

然后image.fromsream

http://topic.csdn.net/u/20101027/10/297D87A3-12FC-477B-B249-E1C48C1E7225.html --------------------编程问答--------------------
引用 13 楼  的回复:
引用 9 楼 的回复:

引用 6 楼 的回复:
引用 3 楼 的回复:

public List<byte[]> Get()
{
SqlConnection sc = GetConnection();
try
{
sc.Open();
SqlCommand cmd = new SqlCommand("sel……


你取出来的图片数据是放在List<byte[]>里面……

你看 8 楼 --------------------编程问答--------------------
引用 10 楼  的回复:
引用 8 楼 的回复:
引用 4 楼 的回复:
return GetList(cmd.ExecuteReader());
GetList 又是怎样的?


private List<byte[]> GetList(SqlDataReader sdr)
{
List<byte[]> lbt = new List<byte[]>();
while (sdr.Read())
{
l……

我看过都是0,0
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,