Question

Je souhaite pouvoir intégrer des images tiff numérisées dans certains rapports SSRS.

Lorsque je conçois un rapport dans VS2005 et que j'ajoute un contrôle d'image, l'image tiff s'affiche parfaitement, mais lorsque je le crée. Je reçois l'avertissement:

Avertissement 2 [rsInvalidMIMEType] Valeur de la propriété MIMEType pour l'image & # 8216; image1 & # 8217; is & image # 8220; image / tiff & # 8221 ;, qui n'est pas un type MIMET valide. c: \ SSRSStuff \ TestReport.rdl 0 0

et au lieu d'une image, je reçois le petit x rouge.

Quelqu'un at-il surmonté ce problème?

Était-ce utile?

La solution

En supposant que vous livriez le fichier image via IIS, utilisez une page ASP.NET pour modifier les formats et le type mime de l'image en un élément que vous pouvez utiliser.

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

Autres conseils

Je cherchais une solution sur la façon d'afficher une image TIFF dans un rapport SSRS mais je n'en trouvais aucune. Etant donné que SSRS ne prend pas en charge le format TIFF, je pensais que convertir le format TIFF en un des formats pris en charge ferait l'affaire. Et ça l'a fait. Je ne sais pas s'il existe une implémentation similaire comme celle-ci, mais je poste juste pour que d'autres puissent en profiter également. Notez que cela ne s'applique que si vous avez une image TIFF enregistrée dans la base de données.

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

Voici comment utiliser le code:    1. Dans les propriétés du rapport, sélectionnez Références, cliquez sur Ajouter et parcourez System.Drawing, Version = 2.0.0.0.    2. Sélectionnez la propriété de code, copier coller la fonction ci-dessus    3. Cliquez sur Ok    4. Supprimer un contrôle Image de la boîte à outils       4.1. Cliquez avec le bouton droit sur l'image et sélectionnez Propriétés de l'image.       4.2. Définir la source de l'image sur la base de données       4.3. Dans le champ Use this, cliquez sur expression et collez le code ci-dessous.            = Code.ToImage (Fields! FormImage.Value)
      4.4. Définissez le mime approprié sur Jpeg

Cordialement, Fulbert

Merci Peter , votre code n'a pas été compilé, mais l'idée était valable.

Voici ma tentative qui fonctionne pour moi.

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

}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top