Вопрос

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

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

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

Это было полезно?

Решение

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

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

Другие советы

Я искал решение о том, как отобразить изображение в формате 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.В свойствах отчета выберите Ссылки, нажмите добавить и просмотрите систему.Чертеж, версия=2.0.0.0 2.Выберите свойство Code, Скопируйте и вставьте приведенную выше функцию 3.Нажмите кнопку Ок 4.Удалите элемент управления изображением из панели инструментов 4.1.Щелкните правой кнопкой мыши изображение и выберите пункт Свойства изображения 4.2.Установите в качестве источника изображения базу данных 4.3.В поле Использовать это щелкните выражение и вставьте приведенный ниже код =Code.toImage(Поля!FormImage.Значение)
4.4.Установите соответствующий Mime в формат Jpeg

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

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

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

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

}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top