Pregunta

Tengo el requisito de poder incrustar imágenes tiff escaneadas en algunos informes SSRS.

Cuando diseño un informe en VS2005 y agrego un control de imagen, la imagen tiff se muestra perfectamente cuando la construyo.Recibo la advertencia:

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

y en lugar de una imagen me sale la pequeña x roja.

¿Alguien ha superado este problema?

¿Fue útil?

Solución

Suponiendo que entrega el archivo de imagen a través de IIS, use una página ASP.NET para cambiar los formatos de imagen y el tipo MIME a algo que desee. poder usar.

Response.ContentType = "image/png";
Response.Clear();
using (Bitmap bmp = new Bitmap(tifFilepath))
  bmp.Save(Response.OutputStream, ImageFormat.Png);
Response.End();

Otros consejos

He estado buscando una solución sobre cómo mostrar una imagen TIFF en un informe SSRS, pero no pude encontrar ninguna y, dado que SSRS no es compatible con TIFF, pensé que convertir el TIFF a uno de los formatos admitidos sería suficiente.Y así fue.No sé si existen implementaciones similares como esta, pero solo estoy publicando para que otros también puedan beneficiarse.Tenga en cuenta que esto solo se aplica si tiene una imagen TIFF guardada en la base de datos.

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

Así es como puedes usar el código:1.En las propiedades del informe, seleccione ReferENECES, haga clic en Agregar y navegar en el sistema. Drawing, versión = 2.0.0.0 2.Seleccione la propiedad de código, copie la función anterior 3.Haga clic en Aceptar 4.Deje caer un control de imagen de la caja de herramientas 4.1.Haga clic derecho en la imagen y seleccione Propiedades de la imagen 4.2.Establezca la fuente de la imagen en la base de datos 4.3.En el uso de este campo, haga clic en Expression y pegue el código a continuación = Code.ToImage (Fields! Formimage.Value)
4.4.Establezca el Mime apropiado en Jpeg

Saludos, Fulbert

Gracias Pedro Su código no se compiló pero la idea era buena.

Aquí está mi intento que funciona para mí.

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();

}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top