http://www.80diy.com/home/20050510/20/3996217.html
1 楼singlepine(小山)回复于 2005-05-10 21:11:27 得分 20
<asp:TemplateColumn HeaderText="照片">
<ItemTemplate>
<asp:Image Runat=server ID="Image1"
ImageUrl='<%# FormatURL(DataBinder.Eval(Container.DataItem, "Image")) %>' />
</ItemTemplate>
</asp:TemplateColumn>
protected string FormatURL(object strArgument)
{
return //此处将数据库中的BLOB转换为图片即可;
}
Top
2 楼wdcszl(Leithon)回复于 2005-05-10 21:18:10 得分 0
先在一个页面里面显示图片
然后利用WebRequest.GetReponse方法读取页面的内容(也就是图片了)
试一下
Top
3 楼boytomato(深爱一人叫颖的女孩!)回复于 2005-05-10 21:23:32 得分 0
http://search.csdn.net/Expert/TopicView3.asp?id=1641286Top
4 楼boytomato(深爱一人叫颖的女孩!)回复于 2005-05-10 21:25:46 得分 0
http://support.microsoft.com/kb/317016/Top
5 楼frequenter(frequenter)回复于 2005-05-10 21:43:50 得分 0
谢谢大家,只是我会用什么HTML语言,只会用WEB控件,还请大家想想!!不要用绑定!!!Top
6 楼frequenter(frequenter)回复于 2005-05-10 21:53:09 得分 0
读取存取BLOB数据都没有问题了,就是怎么显示?Top
7 楼frequenter(frequenter)回复于 2005-05-10 22:10:44 得分 0
string productID = e.Item.Cells[2].Text;
string strSql;
myConnection.Open();
strSql="select image from one where ID="+productID;
MySqlCom.CommandText=strSql;
MySqlDataReader reader=MySqlCom.ExecuteReader();
reader.Read();
byte[] photo;
photo=(byte[])reader[0];
MemoryStream buf=new MemoryStream((byte[])reader[0]);
Response.Write(buf.Length);
String filename="abcd.bmp";
FileStream fs=new FileStream (filename,FileMode.Create);
fs.Write(photo,0,(int)buf.Length );
fs.Close();
buf=null;
fs=null;
Image1.ImageUrl="abcd.bmp";
myConnection.Close();Top
8 楼hchxxzx(NET?摸到一点门槛)回复于 2005-05-10 22:36:45 得分 80
在页面中,放一个Image控件,在后台指定它的链接地址如下:
----------------------------------------------------------------------
//为方便,写一个固定ID号tmp_id=103
this.Image1.ImageUrl = "showimg.aspx?tmp_id=103" ;
下面是显示图片的页面showimg.aspx后台代码,该页面不需要放任何东西.
--------------------------------------------------------------------
//创建数据库连接
OracleConnection myConnection = new OracleConnection(ConfigurationSettings.AppSettings["sysDSN"]);
myConnection.Open();
//打开数据库
OracleCommand myCommand = myConnection.CreateCommand();
string sql = "select tmp_blob from tmp where tmp_id = 103";
myCommand.CommandText = sql;
OracleDataReader myRead = myCommand.ExecuteReader();
//开始读取
myRead.Read();
OracleLob myLob = myRead.GetOracleLob(0);
//长度是long,转为int32
int myLength = Convert.ToInt32(myLob.Length);
Byte[] Buffer = new byte[myLength];
myLob.Read(Buffer,0,myLength);
//输出
this.Response.Clear();
//输出mime类型,根据上传的文件取到的mimetype,是什么我忘记了,自己写上,不过不写也没有关系.
this.Response.ContentType = "";
this.Response.BinaryWrite(Buffer);
this.Response.End();
Top
9 楼net_lover(【孟子E章】)回复于 2005-05-10 22:40:56 得分 0
http://dotnet.aspx.cc/ShowList.aspx?id=1Top
10 楼hchxxzx(NET?摸到一点门槛)回复于 2005-05-10 22:44:19 得分 0
修改一下,更简单一点:
//创建数据库连接
OracleConnection myConnection = new OracleConnection(ConfigurationSettings.AppSettings["sysDSN"]);
myConnection.Open();
//打开数据库
OracleCommand myCommand = myConnection.CreateCommand();
string sql = "select tmp_blob from tmp where tmp_id = 103";
myCommand.CommandText = sql;
OracleDataReader myRead = myCommand.ExecuteReader();
//开始读取
myRead.Read();
Byte[] Buffer = (Byte[])myRead[0];
//输出
this.Response.Clear();
//输出mime类型,根据上传的文件取到的mimetype
this.Response.ContentType = "";
this.Response.BinaryWrite(Buffer);
this.Response.End();