Web Report save as mhtml file

最近遇到一个问题,客户的环境只有ASP 3.0,要求输出的Report有一些复杂的图表,使用OWC倒是直接可以输出图表的图片,直接设置img的src就可以generate on the fly,但问题是客户要求这些report必须以某种文件形式保存起来,供客户下载,客户并没有指定文件格式,但要求单个文件一个report以便管理。项目的时间很紧,一眼看起来,这样的需求,pdf文件是一个不错的选择,但因为一时没有找到免费的COM组件用以生成pdf,所以只好放弃。

MHTML是一种直接把html所有资源文件内嵌为MIME的一种文件格式,主要用于生成html格式的邮件内容。后缀mht或mhtml,直接可以使用IE打开,FireFox也有一些插件支持浏览mhtml文件。ASP的示例代码:
[code]
Dim iConf 'As New CDO.Configuration
Dim Flds 'As ADODB.Fields
set iConf = Server.CreateObject("CDO.Configuration")

Dim iMsg 'As New CDO.Message
set iMsg = Server.CreateObject("CDO.Message")

dim stm
set stm = Server.CreateObject("ADODB.Stream")
stm.Type = 2
stm.Charset = "US-ASCII"
stm.open

with iMsg
Set .Configuration = iConf
.BodyPart.Charset = "GBK"
.CreateMHTMLBody "http://localhost/mail.html", 0
.DataSource.SaveToObject stm, "_Stream"
stm.SaveToFile Server.MapPath("/dev/") & "\emaill.mthml"
end with
[/code]
使用CDO 2000 COM组件,可以直接从一个url得到所有的页面资源文件,并生成mthml格式的Stream,保存下来就是需要的mhtml文件了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值