Отображение файлов Tiff в отчетах SSRS
-
02-07-2019 - |
Вопрос
У меня есть требование иметь возможность встраивать отсканированные изображения в формате 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();
}