У меня есть тестовая система, которая содержит клиентское приложение winforms, которое разговаривает с службой wcf, которая позволяет мне печатать отчеты в зависимости от критериев, которые выбирает пользователь. На стороне wcf у нас есть несколько файлов rdlc, в которых мы пытаемся показать некоторые изображения. Мы генерируем изображения и сохраняем их на диске и передаем путь к файлу изображения как часть набора данных в источниках данных. Следующий код генерирует изображенияОтображение изображений на localreport
var image = Code128Rendering.MakeBarcodeImage(barcode, 2, true);
var imageFilename = HttpContext.Current.Server.MapPath(string.Format("{0}.bmp", imageId));
image.Save(imageFilename);
Чтобы создать свой набор данных У меня есть следующие
var rmDS = new List<object>()
{
new TestObj()
{
Barcode = GenerateBarcode(DateTime.Now.Ticks.ToString()),
},
};
return rmSpecialDeliveryService;
И я добавил это к источникам данных отчета. Когда я пытаюсь сделать отчет, я получаю следующее предупреждающее сообщение
Warning: Images with external URL references will not display if the report is
published to a report server without an UnattendedExecutionAccount or the target
image(s) are not enabled for anonymous access. (rsWarningFetchingExternalImages)
Код я для рендеринга является следующее:
var deviceInfo =
@"<DeviceInfo>
<OutputFormat>EMF</OutputFormat>
<PageWidth>8.5in</PageWidth>
<PageHeight>11in</PageHeight>
<MarginTop>0.25in</MarginTop>
<MarginLeft>0.25in</MarginLeft>
<MarginRight>0.25in</MarginRight>
<MarginBottom>0.25in</MarginBottom>
</DeviceInfo>";
Warning[] warnings;
m_streams = new List<Stream>();
report.Render("Image", deviceInfo, CreateStream, out warnings);
foreach (var stream in m_streams){ stream.Position = 0; }
Любая помощь будет признательно оценена !!!
Я забыл ... в отчете у меня есть элемент управления изображением со следующим выражением set '= "file: ///" & Fields! StartBarcode.Value' – wakthar
Когда отчет будет снесен клиенту, это будет попросите получить доступ к изображениям. И если в то время, после рендеринга, у вас нет доступа к ресурсам, тогда вы получите пустые или другие ошибки. –