作者:mayz 来源:慧都控件网 浏览:Loading... 日期:2012-10-26
问题描述:
在Stimulsoft Reports.Net中使用StiHtmlImageHost类
问题解答:
你可以创建自己的StiHtmlImageHost类并覆盖默认的行为,然后你可以通过以下代码调用这个类:
[C#]
StiHtmlExportService service = new StiHtmlExportService();
service.HtmlImageHost = new MyHtmlImageHost();
service.ExportHtml(report, Stream);
public class StiWebImageHost : StiHtmlImageHost
{
public override string GetImageString(Bitmap bmp)
{
Guid imageGuid = Guid.NewGuid();
MemoryStream imageStream = new MemoryStream();
bmp.Save(imageStream, webViewer.ImageFormat);
if (webViewer.CacheMode == StiCacheMode.Page)
{
webViewer.Page.Cache.Add(imageGuid.ToString(), imageStream.ToArray(), null, Cache.NoAbsoluteExpiration,
webViewer.ServerTimeOut, System.Web.Caching.CacheItemPriority.Low, null);
}
else
{
webViewer.Page.Session.Add(imageGuid.ToString(), imageStream.ToArray());
}
string url = webViewer.Page.Request.Url.AbsolutePath;
string query = webViewer.Page.Request.Url.Query;
if (query != null && query.Length > 0)
{
return string.Format("{0}{1}&stimulreport_image={2}", url, query, imageGuid);
}
else
{
return string.Format("{0}?stimulreport_image={1}", url, imageGuid);
}
}
private StiWebViewer webViewer = null;
public StiWebImageHost(StiWebViewer webViewer) : base (null)
{
this.webViewer = webViewer;
}
}
Tag标签:.NET报表 Stimulsoft Reports.Net