Как использовать SSRS для простого извлечения фрагментов HTML со встроенными изображениями - PullRequest
0 голосов
/ 21 марта 2012

У меня есть веб-приложение, которое динамически извлекает отчеты с нашего сервера SSRS - мы нажимаем URL-адрес и выводим HTML4.0, который я вставляю в div для просмотра пользователем. Недавно я попытался добавить отчет со встроенным изображением (в самом RDL), и изображение не проходит через него. Что делает это, так это ссылка IMG SRC обратно на поле SSRS, но мы не позволяем конечным пользователям напрямую нажимать на поле SSRS ... пользователи запрашивают веб-приложение, и веб-приложение взаимодействует со службой SSRS. Существует возможность рендеринга в MHTML (обратите внимание, что мы обычно используем rs: command = RenderHTML с rs: format = HTML4.0) - возвращаемый BLOB-объект выглядит как действительный MIME, но не выглядит удобным для вставки в DIV ... я что-то упускаю очевидное? Мой следующий шаг - разобрать MIME, пролистать ссылки и вставить все это обратно на страницу, но я чувствую, что это трудный путь. Каков простой способ получения отчетов фрагментов HTML из SSRS со встроенными изображениями?

1 Ответ

2 голосов
/ 03 ноября 2012

Я столкнулся с той же проблемой.В зависимости от того, как вы реализуете свои службы Reporting Services, вы можете обойти это без необходимости написания дополнительного кода, но вам нужно будет настроить аутентификацию Kerberos для SSRS.Если вы этого не сделаете, вам нужно будет захватить поток изображений из веб-службы SSRS.Это делается с помощью метода RenderStream веб-службы.Когда вы выводите HTML-отчет, он возвращает массив строк streamId.Они передаются в метод RenderStream, который в ответ дает вам байт [].Вам нужно будет поменять источники в HTML с новыми путями к локальным файлам.Тогда вам нужно будет управлять вашей файловой системой.При этом количество сохраненных изображений может выйти из-под контроля в зависимости от количества пользователей.Поэтому вам, возможно, придется управлять очисткой изображений.

...