1

我在 SQL 2008 的 varbinary 列中存储 GIF 图像(如有必要,我可以切换到 BMP)。我想在我的 RDLC 中的 ReportViewer 控件呈现的 PDF 中显示这些图像。我如何必须参考报告中的图像数据才能使其发挥作用?

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

一个简单的字段引用似乎并不能解决问题。

4

2 回答 2

2

所以事实证明我的问题之前已经被问过并自我回答了。给蒂娜你的一票!

连同凯文的回答,它让我走上了正确的道路。我最终向调用图像 HTML 处理程序的 Linq 存储过程结果类添加了一个属性。我将 MIME 类型更改为 BMP,它的工作原理就像一个魅力 - 我现在可以删除数据库列,并且不需要跳过箍来编写图像服务的 URL。下面这个属性我可以直接赋值给图片控件。

public byte[] NDCLabel {
    get {
        return 
            BarcodeUtilities.ConvertImageToByteArray(
                BarcodeUtilities.GetBarcodeImage(this.ndc) 
                       ,System.Drawing.Imaging.ImageFormat.Bmp);
        }
    }
于 2009-12-02T22:09:34.603 回答
1

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

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

于 2009-12-02T20:02:38.180 回答