保存按钮,将网页保存为mht文件(.net 4 vb)

时间:2011-10-25 13:10:10

标签: vb.net button

我有一个用.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

2 个答案:

答案 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")
相关问题