我有一个用.net 4编写的网站。我想在一个将网页保存为mht文件的页面上添加一个保存按钮。这样,用户可以将页面保存为他/她桌面上的mht文件类型,而无需使用浏览器工具栏。
我目前正在使用以下代码,但我需要对其进行修改,以便捕获用户正在查看的当前页面的网址,并将网址硬编码到按钮点击事件中。谢谢。
Partial Class Form1
Inherits System.Web.UI.Page
End Class
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
SavePage("http://forums.microsoft.com/MSDN/default.aspx", "C:\msdn.mht")
End Sub
Private Sub SavePage(ByVal Url As String, ByVal FilePath As String)
Dim iMessage As CDO.Message = New CDO.Message
iMessage.CreateMHTMLBody(Url, _
CDO.CdoMHTMLFlags.cdoSuppressNone, "", "")
Dim adodbstream As ADODB.Stream = New ADODB.Stream
adodbstream.Type = ADODB.StreamTypeEnum.adTypeText
adodbstream.Charset = "US-ASCII"
adodbstream.Open()
iMessage.DataSource.SaveToObject(adodbstream, "_Stream")
adodbstream.SaveToFile(FilePath, _
ADODB.SaveOptionsEnum.adSaveCreateOverWrite)
End Sub
End Class
答案 0 :(得分:2)
您需要将COM引用添加到“Microsoft CDO For Windows 2000 Library”和“Microsoft ActiveX Data Objects 2.5 Library”。然后导入它们:
Imports ADODB
Imports CDO
答案 1 :(得分:0)
试试这个:
SavePage(HttpContext.Current.Request.Url.AbsoluteUri, "C:\whatever.mht")