2009-12-02 47 views
1

我在SQL 2008的varbinary列中存储了GIF图像(如果需要,我可以切换到BMP)。我想从RDLC中的ReportViewer控件呈现的PDF中显示这些图像。 如何参考报告中的图像数据来完成这项工作?RDLC + ReportViewer控件 - 如何显示数据库中的图像?

=First(Fields!sh_lot_num_barcode_image.Value, "DataSet1")) 

一个简单的字段引用似乎没有办法。

回答

2

所以事实证明my question was already asked before和自我回答。给蒂娜你的投票!

加上凯文的回答让我走上了正轨。我最终将一个属性添加到我的Linq存储过程结果类中,该类调用图像HTML处理程序。我将MIME类型更改为BMP,它的功能就像一个魅力 - 我现在可以删除数据库列,并且不需要跳过这些环节来组成图像服务的URL。下面的属性我可以直接分配给图像控件。

public byte[] NDCLabel { 
    get { 
     return 
      BarcodeUtilities.ConvertImageToByteArray(
       BarcodeUtilities.GetBarcodeImage(this.ndc) 
         ,System.Drawing.Imaging.ImageFormat.Bmp); 
     } 
    } 
1

您是否考虑过编写HTTP处理程序以从数据库中读取图像并将其写入响应流?然后,您可以在报告中设置图像控件以将URL用作源,并且它应该在输出中呈现。

我没有任何实际的图像作为数据库中的斑点来测试,但是当我需要在报告上呈现富文本时,我做了一些类似的事情。

+0

我确实有一个提供条形码的HTTP处理程序,但是我可以在图像控件中动态组合URL吗?我非常喜欢这一点,但是在我看来,这不是一种选择。有关这方面的文档非常稀少...... – cdonner 2009-12-02 20:25:59

+0

您可以在您的SQL查询中编写URL并仅将该列作为http源引用?这就是我所做的。 – 2009-12-02 21:43:31

相关问题