Отображение файлов Tiff в отчетах SSRS - PullRequest
2 голосов
/ 24 сентября 2008

У меня есть требование, чтобы иметь возможность вставлять отсканированные изображения 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

и вместо изображения я получаю маленький красный х.

Кто-нибудь преодолел эту проблему?

Ответы [ 3 ]

3 голосов
/ 25 сентября 2008

Предполагая, что вы доставляете файл изображения через IIS, используйте страницу ASP.NET, чтобы изменить форматы изображения и тип MIME на то, что может использовать.

Response.ContentType = "image/png";
Response.Clear();
using (Bitmap bmp = new Bitmap(tifFilepath))
  bmp.Save(Response.OutputStream, ImageFormat.Png);
Response.End();
1 голос
/ 27 апреля 2010

Я пытался найти решение для отображения изображения TIFF в отчете SSRS, но не смог его найти, и поскольку 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. В свойствах отчета выберите «Ссылки», нажмите «Добавить» и просмотрите System.Drawing, версия = 2.0.0.0. 2. Выберите свойство кода, скопируйте и вставьте функцию выше 3. Нажмите Ok 4. Перетащите элемент управления изображения из панели инструментов 4.1. Щелкните правой кнопкой мыши изображение и выберите Свойства изображения 4.2. Установите источник изображения в базу данных 4,3. В поле «Использовать это» щелкните выражение и вставьте приведенный ниже код. = Code.ToImage (Fields! FormImage.Value)
4.4. Установите соответствующий Mime в Jpeg

С уважением, Фульберт

0 голосов
/ 25 сентября 2008

Спасибо Питер Ваш код не скомпилирован, но идея была правильной.

Вот моя попытка, которая работает для меня.

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

}
...