2011-01-19 87 views
0

假设我的图像二进制数据保存在数据库表中,我想通过gridview显示这些图像。一种方法是创建一个页面,我将传递一些id作为查询字符串,该页面将从db中检索图像数据,并通过BinaryWrite方法将图像数据流式传输到我的页面。一个例子是http://www.aspdotnetcodes.com/Insert_Images_Database.aspx。这个URL描述了如何通过BinaryWrite显示图像数据。 这种方法是旧的,我知道。是否有任何其他方式,我可以在gridview中显示图像,但我不想将图像url存储在table.please中让我知道,如果您知道任何其他方法通过gridiview显示图像时图像二进制数据存储在D b。感谢通过gridview显示图像?

回答

0

这听起来像你有你的存储图像以二进制格式存储在数据库中。然后你想在你的GridView中显示它们。

考虑使用此方法:

  • 在你的GridView握住你的图像创建一个模板领域。它最终会调用处理程序URL来获取图像的二进制数据。
  • 创建图像处理程序页面 - 使其成为.ashx。把一个唯一的标识符的查询字符串,例如,从数据库
<Columns> 
    <asp:TemplateField HeaderText="Image"> 
    <ItemTemplate> 
     <asp:Image ID="Image1" runat="server" Height="80px" Width="80px" 
     ImageUrl='<%# "ImageHandler.ashx?ImID="+ Eval("ImageID") 
        %>'/> 
    </ItemTemplate> 
</asp:TemplateField> 
</Columns> 

抓住你想要的图片查看关于如何实现你的图像处理程序answer at the bottom of this MSDN question for more details。绑定GridView时,您不必带回二进制数据。另一方面,它会为网格中的每一行创建对处理程序的调用n