Да, мы можем удовлетворить ваши требования, передав FileStream в Syncfusion ReportViewer вместо ReportPath.Ниже приведен фрагмент, обработанный на стороне контроллера,
public class ReportApiController : ApiController, IReportController
{
public object PostReportAction(Dictionary<string, object> jsonResult)
{
return ReportHelper.ProcessReport(jsonResult, this);
}
[System.Web.Http.ActionName("GetResource")]
[AcceptVerbs("GET")]
public object GetResource(string key, string resourcetype, bool isPrint)
{
return ReportHelper.GetResource(key, resourcetype, isPrint);
}
public void OnInitReportOptions(ReportViewerOptions reportOption)
{
FileStream fs = new FileStream(HttpContext.Current.Server.MapPath("~/App_Data/GroupingAgg.rdl"), FileMode.Open, FileAccess.Read);
reportOption.ReportModel.Stream = fs;
}
public void OnReportLoaded(ReportViewerOptions reportOption)
{
}
}
Ниже приведен образец ссылки, который поможет вашему требованию,
http://www.syncfusion.com/downloads/support/directtrac/general/ze/ReportviewerSample141241572.zip
Примечание : В приведенном выше примере мы прочитали файл физического пути как поток и загрузили его.Вы можете изменить образец в соответствии с вашими потребностями, чтобы передать содержимое XML как FileStream.