2010-02-19 3 views
1

У меня возникают трудности с отображением изображений при визуализации отчета. Текст все отлично отображает, но изображения отображаются как сломанные. Как это исправить?Разбитые изображения при отображении отчета ssrs

Мой код:

ReportExecutionServiceSoapClient rs = new ReportExecutionServiceSoapClient(); 
     rs.ClientCredentials.Windows.AllowedImpersonationLevel = 
      System.Security.Principal.TokenImpersonationLevel.Impersonation; 


     byte[] result = null; 
     string encoding, mimeType, extension, DeviceInfo = null; 
     ReportExecution2005.Warning[] warnings = null; 
     string[] streamIds = null; 

     DeviceInfo = "<DeviceInfo><StreamRoot>/Temp/Images/</StreamRoot><HTMLFragment>True</HTMLFragment></DeviceInfo>"; 
     //ReportExecution2005.LogonUserResponse luResp = LogonUserE(); 

     //rs.LogonUser() 

     try 
     { 
      string historyId = null; 
      ExecutionInfo executionInfo; 
      ExecutionHeader executionHeader; 
      ServerInfoHeader serverInfoHeader; 

      List<ParameterValue> parameterValues = new List<ParameterValue>(); 
      ParameterValue param1= new ParameterValue(); 
      param1.Name = "Id"; 
      param1.Value = "17"; 
      ParameterValue year = new ParameterValue(); 
      year.Name = "Year"; 
      year.Value = "2009"; 
      ParameterValue region = new ParameterValue(); 
      region.Name = "RegionId"; 
      region.Value = "0"; 

      parameterValues.Add(param1); 
      parameterValues.Add(year); 
      parameterValues.Add(region); 

      serverInfoHeader = rs.LogonUser("user", "pass", null); 


      executionHeader = rs.LoadReport(null, ReportPath, historyId, out serverInfoHeader, 
              out executionInfo); 

      rs.SetExecutionParameters(executionHeader, null, parameterValues.ToArray(), "en-us", out executionInfo); 


      rs.Render(executionHeader, null, "HTML4.0", DeviceInfo, out result, out extension, out mimeType, 
         out encoding, out warnings, out streamIds); 


      report.InnerHtml = System.Text.Encoding.ASCII.GetString(result); 

     } 

     catch (SoapException ex) 
     { 


     } 

ответ

0

Вам нужно вызвать метод RenderStream с помощью streamIds, что вы получите обратно от метода визуализации.

см. Пример: http://ssrsphp.codeplex.com/

Смежные вопросы