кнопка сохранить, сохранить веб-страницу как MHT-файл (.net 4 VB) - PullRequest
0 голосов
/ 25 октября 2011

У меня есть веб-сайт, написанный на .net 4. Я хотел бы добавить кнопку сохранения на одной из страниц, которая сохранит веб-страницу в виде файла MHT. Таким образом, пользователь может сохранить страницу как тип файла MHT на своем рабочем столе без использования панели инструментов браузера.

В настоящее время я работаю со следующим кодом, но мне нужно изменить его так, чтобы он захватывал URL текущей страницы, которую пользователь просматривает, с жестким кодированием URL в событие нажатия кнопки. Благодарю.

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 ]

2 голосов
/ 31 января 2012

Вам необходимо добавить COM-ссылки в «библиотеку Microsoft CDO для Windows 2000» и «библиотеку объектов данных Microsoft ActiveX 2.5». Затем импортируйте их:

Imports ADODB
Imports CDO
0 голосов
/ 25 октября 2011

Попробуйте это:

SavePage(HttpContext.Current.Request.Url.AbsoluteUri, "C:\whatever.mht")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...