2

我需要能够将扫描的 tiff 图像嵌入到一些 SSRS 报告中。

当我在 VS2005 中设计报告并添加图像控件时,tiff 图像显示完美,但是当我构建它时。我收到警告:

Warning 2 [rsInvalidMIMEType] The value of the MIMEType property for the image ‘image1’ is “image/tiff”, which is not a valid MIMEType. c:\SSRSStuff\TestReport.rdl 0 0

而不是图像,我得到了小红色 x。

有没有人克服这个问题?

4

3 回答 3

3

假设您通过 IIS 传递图像文件,请使用 ASP.NET 页面将图像格式和 mime 类型更改为您可以使用的内容。

Response.ContentType = "image/png";
Response.Clear();
using (Bitmap bmp = new Bitmap(tifFilepath))
  bmp.Save(Response.OutputStream, ImageFormat.Png);
Response.End();
于 2008-09-25T01:19:07.140 回答
2

我一直在寻找有关如何在 SSRS 报告中显示 TIFF 图像的解决方案,但我找不到任何解决方案,而且由于 SSRS 不支持 TIFF,我认为将 TIFF 转换为支持的格式之一就可以了。它确实做到了。我不知道那里是否有类似的实现,但我只是发布,以便其他人也可以从中受益。请注意,这仅适用于您将 TIFF 图像保存在数据库中的情况。

Public Shared Function ToImage(ByVal imageBytes As Byte()) As Byte()
    Dim ms As System.IO.MemoryStream = New System.IO.MemoryStream(imageBytes)
    Dim os As System.IO.MemoryStream = New System.IO.MemoryStream()
    Dim img As System.Drawing.Image = System.Drawing.Image.FromStream(ms)

    img.Save(os, System.Drawing.Imaging.ImageFormat.Jpeg)

    Return os.ToArray()
End Function

以下是代码的使用方法: 1. 在 Report Properties 中,选择 Referenceeneces,单击 add 并浏览 System.Drawing,Version=2.0.0.0 2. 选择 Code Property,复制粘贴上面的函数 3. 单击 Ok 4. Drop工具箱 4.1 中的图像控件。右键单击图像并选择图像属性 4.2。将图像源设置为数据库 4.3。在使用此字段中,单击表达式并粘贴下面的代码 =Code.ToImage(Fields!FormImage.Value)
4.4。将适当的 Mime 设置为 Jpeg

问候, 富尔伯特

于 2010-04-27T13:14:35.867 回答
0

谢谢彼得,您的代码没有编译,但这个想法是合理的。

这是我的尝试,对我有用。

protected void Page_Load(object sender, EventArgs e)
{
    Response.ContentType = "image/jpeg";
    Response.Clear();        
    Bitmap bmp = new Bitmap(tifFileLocation);
    bmp.Save(Response.OutputStream, ImageFormat.Jpeg);
    Response.End();

}
于 2008-09-25T12:02:23.710 回答