View Full Version : سوال: ذخیره صفحه با فرمت .mht
maryam_272
چهارشنبه 26 مرداد 1390, 14:38 عصر
سلام
من می خواهم تو صفحه نمایش خبر دکمه ای از نوع imageButton بذارم که با زدن روی اون دکمه پنجره pop up save باز بشه و کابر مسیر و نام مورد نظر را تعیین کنه بعد این صفحه با فرمت .mht ذخیره بشه روی کامپیوتر کاربر
maryam_272
چهارشنبه 02 شهریور 1390, 17:54 عصر
نمی دونم چرا کسی جواب سوال منو نداد
من خودم تونستم یک صفحه را با پسوند .mht ذخیره کنم اما 2 تا مشکل دارم یکی اینکه فارسیاشو بد می نویسه
دوم اینکه می خوام پنجره save dialog box رو باز کنه و با توجه به مسیری که کاربر انتخاب می کنه فایل را ذخیره کنیم
ممنون میشم اگه ایندفعه جواب بدید
Private Sub BtnZakhire_Click(ByVal sender As Object, ByVal e As EventArgs)
panelSave = PanelPrint
SavePage("http://localhost:1096/N/Khabarha/SavePage.aspx?Id=" & id_khabar, "c:\downloads\namayeshkhabar" & id_khabar + ".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
maryam_272
شنبه 05 شهریور 1390, 15:20 عصر
سلام
خوب مثل اینکه بد سایت سوت و کور البته انتظاری نداریم
من تونستم پنجره save رو باز کنم اما نمی دونم چرا فارسی رو بد می نویسه
کسی هست تو این زمینه به ما کمک کنه؟
unix2010
شنبه 05 شهریور 1390, 15:40 عصر
شاید به خاطر این هستش که شما از utf8 استفاده نکردین
maryam_272
شنبه 05 شهریور 1390, 17:03 عصر
کد adodbstream.Charset = "US-ASCII" را با کد
adodbstream.Charset = "utf-8" عوض کردم اما باز هم مشکل پا برجاست
hjran abdpor
شنبه 05 شهریور 1390, 17:50 عصر
سلام.
http://forums.asp.net/t/1532833.aspx/1
maryam_272
یک شنبه 27 شهریور 1390, 11:18 صبح
سلام
من بالاخره نتونستم جوابی که می خوام رو پیدا کنم واسه همین از روش ابدایی خودم استفاده کردم که به اینصورت
Private Sub BtnZakhire_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles BtnPrint.Click
Dim strRequest As String = "../../Save/namayeshkhabar" & id_khabar + ".mht"
panelSave = PanelPrint
SavePage("http://www.SoghatNews.com/N/Khabarha/SavePage.aspx?Id=" & id_khabar, Server.MapPath(strRequest))
Try
panelSave = PanelPrint
Dim path As String = Server.MapPath(strRequest)
'get absolute path of the file
Dim file As New System.IO.FileInfo(path)
'get file object as FileInfo
If file.Exists Then
'-- if the file exists on the server
Response.Clear()
'set apropriate headers
Response.AddHeader("Content-Disposition", "attachment; filename=" & file.Name)
Response.AddHeader("Content-Length", file.Length.ToString())
Response.ContentType = "application/...."
Response.WriteFile(file.FullName)
'if file does not exist
Response.[End]()
file.Delete()
Else
Response.Write("This file does not exist.")
'nothing in the URL as HTTP GET
End If
Catch rt As Exception
Response.Write(rt.Message)
End Try
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 = "Unicode" 'sets the stream encoding to UTF-8
adodbstream.Open()
iMessage.DataSource.SaveToObject(adodbstream, "_Stream")
adodbstream.SaveToFile(FilePath, ADODB.SaveOptionsEnum.adSaveCreateOverWrite)
End Sub
این توابع روی لوکال درست جولب میده اما روی اینترنت ارور میده عکس ارورش رو میذارم
http://www.pic.iran-forum.ir/images/14ub4g69lfi5al7zdb.gif
اگه کمکم کنید ممنون میشم
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.