标题:C#中Image格式的图片,怎么从数据库里导出?用byte[ ]什么接收?
只看楼主
小仙
Rank: 7Rank: 7Rank: 7
来 自:光之谷
等 级:贵宾
威 望:39
帖 子:1812
专家分:1
注 册:2008-8-8
结帖率:100%
 问题点数:0 回复次数:19 
C#中Image格式的图片,怎么从数据库里导出?用byte[ ]什么接收?
如题,我的一个员工类里面有照片这个Image属性,我把员工对象写入数据库,在数据库里是用一个Image字段保存,但是读出来再用Image对象接收却报错了,用byte[ ] 数组怎么保存从数据库里读出来的图片?请高手指教。
搜索更多相关主题的帖子: byte 数据库 Image 格式 
2008-08-08 08:33
mnb1478
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2008-7-1
得分:0 
不知呀,好麻烦呀





" border="0" />
[url=http://www.]流氓天尊[/url]
2008-08-08 08:37
小仙
Rank: 7Rank: 7Rank: 7
来 自:光之谷
等 级:贵宾
威 望:39
帖 子:1812
专家分:1
注 册:2008-8-8
得分:0 
呃。。。伤脑筋啊
2008-08-08 08:49
fjfhnui
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2007-6-18
得分:0 
首先从数据库读取 存byte 数组 在存到 内存流 ,然后 image.fromstrea(内存流) ok
2008-08-10 23:58
小仙
Rank: 7Rank: 7Rank: 7
来 自:光之谷
等 级:贵宾
威 望:39
帖 子:1812
专家分:1
注 册:2008-8-8
得分:0 
呃。。是这么个思想,问题是现在我存byte[]类型到数据库时,没用command.Parameters.Add("@image", SqlDbType.Image);而是用的cmd.exeNonQuery()在监视中显示传的值是一个System.Byte[]而不是一段二进制码,不让往数据库中存,我不知道问题出在哪。。。
2008-08-11 17:03
tpriwwq
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2008-7-24
得分:0 
不让存是不是存储过程写得有问题呀
2008-08-12 12:53
worm
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-8-12
得分:0 
图片路径的选择
private void button3_Click(object sender, System.EventArgs e)
        {
            if(this.openFileDialog1.ShowDialog()==DialogResult.OK)
            {
                if(File.Exists(this.openFileDialog1.FileName))
                {
                    this.textBox1.Text=this.openFileDialog1.FileName;
                    filepath=this.textBox1.Text;
                    this.pictureBox1.Image=new Bitmap(this.textBox1.Text);
                }
                else
                {
                    MessageBox.Show("无文件!");
                }
            }

图片路径的付与
private void button1_Click(object sender, System.EventArgs e)
        {
            if(filepath=="")
            {
                MessageBox.Show("ertet");
            }
            else
            {
                this.Close();
            }
        }
2008-08-12 13:41
xu520177
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-8-12
得分:0 
//图片读出来

                byte[] uu = (dr[3] as byte[]);
                MemoryStream ms=new MemoryStream(uu);
                this.pictureBox1.Image = Image.FromStream(ms);
2008-08-12 13:43
worm
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-8-12
得分:0 
图片的显示:FileInfo fi = new FileInfo("temp");
               FileStream myStream=fi.Open(FileMode.Create);
               byte[] mydata=((byte[])ds.Tables[0].Rows[0]["photo"]);
               foreach(byte a in mydata)
               {
                myStream.WriteByte(a);
               }
              myStream.Close();
              Image myImage=Image.FromFile("temp") ;
              this.pictureBox1.Image=myImage;
2008-08-12 13:43
xu520177
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-8-12
得分:0 
//把图片转化为字节数组
            MemoryStream mm=new MemoryStream();
            this.pictureBox1.Image.Save(mm,this.pictureBox1.Image.RawFormat);
            byte [] uu=mm.ToArray();
2008-08-12 13:45



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-227265-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.340361 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved