标题:[求助]如何从数据库中提取图片
只看楼主
yuzhou
Rank: 1
来 自:湖北
等 级:新手上路
帖 子:136
专家分:0
注 册:2007-1-21
 问题点数:0 回复次数:8 
[求助]如何从数据库中提取图片
各位高手请指教:

如何从数据库中提取图片(image),把它显示在控件中。
搜索更多相关主题的帖子: 数据库 image 控件 
2007-03-13 10:16
zhzh
Rank: 2
等 级:新手上路
威 望:3
帖 子:377
专家分:0
注 册:2006-10-18
得分:0 

你的数据库中存储的是图片的名字还是图片?
image 的src绑定路径和数据库中的名字就可以显示了啊
怎么都是问这个问题?下面应该有解答,仔细找找看吧


Tomorrow is another day! my love..................
2007-03-13 10:38
yuzhou
Rank: 1
来 自:湖北
等 级:新手上路
帖 子:136
专家分:0
注 册:2007-1-21
得分:0 

谢谢zhzh大侠,不是你的那个意思,是二进制数据image类型,把它显示在image控件中.


机遇是给有准备的人
2007-03-13 21:31
zhzh
Rank: 2
等 级:新手上路
威 望:3
帖 子:377
专家分:0
注 册:2006-10-18
得分:0 
这个到没做过,一般都是存储图片的名字!同盼指点

Tomorrow is another day! my love..................
2007-03-13 22:42
parklee
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2006-6-8
得分:0 

protected void Page_Load(object sender, EventArgs e)
{
string photoid;
photoid = Request.Params["id"];
Image aa = (Image)FormView1.FindControl("Image1");
aa.ImageUrl = GetPicPath(photoid);
}
private string GetPicPath(string addictNo)
{
OracleConnection conn = new OracleConnection("");
OracleCommand Oraclecomm = new OracleCommand();
Oraclecomm.CommandText = "SELECT pic FROM pp WHERE rybh ='" + addictNo + "'";
Oraclecomm.Connection = conn;
OracleDataAdapter da = new OracleDataAdapter(Oraclecomm);
DataSet ds = new DataSet();
conn.Open();
da.Fill(ds, "pp");
conn.Close();
Response.Clear();

//将图片数据存成本地文件
string tempfile = "" + addictNo + ".jpg";
string fpath = Server.MapPath(Request.ApplicationPath) + "\\temp\\" + tempfile;
FileStream fs = new FileStream(fpath, FileMode.OpenOrCreate, FileAccess.Write);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write((byte[])ds.Tables["pp"].Rows[0][0]);
bw.Close();
return "temp/" + tempfile;
}

从数据库中读取图片信息在IMAGE中显示

这是别人写的 不是我写的


2007-03-13 23:49
漯河
Rank: 4
等 级:贵宾
威 望:12
帖 子:1255
专家分:0
注 册:2006-8-8
得分:0 
有的人存储的是路径
有的人存储的是图片

写出来的代码就不一样了

——life is full of ups and downs!
2007-03-14 09:32
yuzhou
Rank: 1
来 自:湖北
等 级:新手上路
帖 子:136
专家分:0
注 册:2007-1-21
得分:0 
谢谢大家呀!,你们好热情呀

上面也是将图片存在项目中,
图片在数据库中以二进制形式保存,
将它抓出来显示在image控件中 我只学过在整个页面显示,但没有在image控件

private void Page_Load(object sender, System.EventArgs e)
{
//获得前页面传递过来的图片id
int ImgID = Convert.ToInt32(Request.QueryString["mid"]);

string strCon = "server=.;database=DBImage;uid=sa;pwd=";
SqlConnection Con = new SqlConnection(strCon);
String SqlCmd = "select * from imgs where mid = @ImageID";
SqlCommand cmd = new SqlCommand(SqlCmd, Con);
cmd.Parameters.Add("@ImageID",ImgID);
Con.Open();
SqlDataReader sdr = cmd.ExecuteReader();
sdr.Read();
Response.ContentType = (string)sdr["contenttype"];//设定输出文件类型
//输出图象文件二进制数制,sdr["myimage"]为数据储存体,0为数据指针位置、sdr["imgsize"]为数据长度
Response.OutputStream.Write((byte[])sdr["myimage"], 0, (int)sdr["imgsize"]);


机遇是给有准备的人
2007-03-15 13:41
chelsea
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-3-17
得分:0 
先把图片以二进制流保存在数据库中,在连接数据库,把图片在image中显示。

2007-03-17 09:46
yuzhou
Rank: 1
来 自:湖北
等 级:新手上路
帖 子:136
专家分:0
注 册:2007-1-21
得分:0 
楼顶:
怎么显示呀?显示代码怎么写啊

机遇是给有准备的人
2007-03-17 20:23



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




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

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