2013-10-19 118 views
0

像我想表明从数据库二进制数据(图像),而不使用处理器显示从数据库

var imgLogo = cid.Tables[0].Rows[0]["Logo"].ToString(); 

可以请你建议我做的方式。这里是我的aspx内容

如何从代码隐藏设置IMAGEURL?我已经尝试过一个,但它不能正常工作

  Byte[] bytes = (Byte[])cid.Tables[0].Rows[0]["Logo"]; 
      Response.Buffer = true; 
      Response.Charset = ""; 
      Response.Cache.SetCacheability(HttpCacheability.NoCache); 
      Response.ContentType = "image/jpg"; 
      Response.BinaryWrite(bytes); 

我该如何设置imageUrl?

在此先感谢。

+0

***哪些数据库的***样的? MySQL的?甲骨文? DB2? SQL Server? Postgres的?别的东西? –

+0

也许你可以检查一会儿: http://www.aspsnippets.com/articles/display-images-from-sql-server-database-in-asp.net-gridview-control.aspx – Krekkon

+0

它的sql服务器,@Krekkon - 我试过,但是这个例子是用处理程序类创建的。 – kiran

回答

1

那么你的代码只设置图像写入响应。 您需要使用ASP.NET Image控件,然后使用处理程序来提供图像。

该处理程序将从数据库中读取图像字节,然后将其读入响应中,就像您已经做了一些处理。

看看:

Retrieve image from database into a image tag

+0

感谢您的回复,但下面这个例子中的处理程序是used.string.Format(“/ viewImage.ashx?memberreportid = {0}&imageID = {1}”,Session [“memberreportid”],“{0}”) ;还有一件事,我也使用控制现在我的问题是我如何可以绑定从代码隐藏的URL而不使用处理程序?或没有处理它不可能。谢谢 – kiran

+0

没有处理程序是不可能的。您可以用随机文件名写入磁盘,但问题是,最有可能的情况是随机文件名可能以某种方式被别的东西覆盖,并且会损害性能,因为它需要写入磁盘然后加载从磁盘。最佳做法是使用将用于图像的处理程序。 –

+0

好的,谢谢,还有处理程序的其他例子吗? – kiran