C# webbrowser 保存html和图片
可以用以下两种方法达到一些效果[1]HttpWebRequestmyReq=(HttpWebRequest)WebRequest.Create(textBox1.Text...
可以用以下两种方法达到一些效果
[1]
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(textBox1.Text.Trim());
HttpWebResponse myResp = (HttpWebResponse)myReq.GetResponse();
StreamReader respStream = new StreamReader(myResp.GetResponseStream(), Encoding.Default);
string respStr = respStream.ReadToEnd();
respStream.Close();
FileStream fs = new FileStream(@"c:\newFile.html", FileMode.Create, FileAccess.Write);
StreamWriter sw = new StreamWriter(fs, Encoding.Default);
sw.Write(respStr);
sw.Close();
MessageBox.Show("OK");
没达到效果,只有一个文件,newFile.html 而且在离线状态下,图片丢失!
[2]
WebClient DownFile = new WebClient();
DownFile.DownloadFile(@"http://www.baidu.com", @"NewFile.html");
没达到效果,只有一个文件,newFile.html 而且在离线状态下,图片丢失!
[3]
引入 webBrowser
然后用 webBrowser1.ShowSaveAsDialog();
之后点选择保存类型“网页,全部(*html;*html)”,输入名字NewFile,点“保存”好了!
一共两个文件,一个是NewFile.html,一个是NewFile的图片文件.
但是还点击“按钮”,还要输入文件名,太麻烦了????????
没有达到效果!!!!!!
以上三种方都没有完全达到我想要的效果
?????请教大侠了
★★★★★★★★★★
目的是自动保存一个网页的内容!!不仅仅是一个html文件!
想达到第三种方法的最终的效果,但是过程不太好,是否可以
屏蔽那个对话框,而且能动态添加“文件名”,“保存类型”
?????
或着还有其它方法没?
★★★★★★★★★★
为什么呢? 能解释一下吗?不太懂~~~网上也查不到 全是原码~~~ 展开
[1]
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(textBox1.Text.Trim());
HttpWebResponse myResp = (HttpWebResponse)myReq.GetResponse();
StreamReader respStream = new StreamReader(myResp.GetResponseStream(), Encoding.Default);
string respStr = respStream.ReadToEnd();
respStream.Close();
FileStream fs = new FileStream(@"c:\newFile.html", FileMode.Create, FileAccess.Write);
StreamWriter sw = new StreamWriter(fs, Encoding.Default);
sw.Write(respStr);
sw.Close();
MessageBox.Show("OK");
没达到效果,只有一个文件,newFile.html 而且在离线状态下,图片丢失!
[2]
WebClient DownFile = new WebClient();
DownFile.DownloadFile(@"http://www.baidu.com", @"NewFile.html");
没达到效果,只有一个文件,newFile.html 而且在离线状态下,图片丢失!
[3]
引入 webBrowser
然后用 webBrowser1.ShowSaveAsDialog();
之后点选择保存类型“网页,全部(*html;*html)”,输入名字NewFile,点“保存”好了!
一共两个文件,一个是NewFile.html,一个是NewFile的图片文件.
但是还点击“按钮”,还要输入文件名,太麻烦了????????
没有达到效果!!!!!!
以上三种方都没有完全达到我想要的效果
?????请教大侠了
★★★★★★★★★★
目的是自动保存一个网页的内容!!不仅仅是一个html文件!
想达到第三种方法的最终的效果,但是过程不太好,是否可以
屏蔽那个对话框,而且能动态添加“文件名”,“保存类型”
?????
或着还有其它方法没?
★★★★★★★★★★
为什么呢? 能解释一下吗?不太懂~~~网上也查不到 全是原码~~~ 展开
展开全部
是要获取带图片的脱机HTML文件吧,如果是的话可以用下面的方法
//url是要保存的网页地址
//filePath是保存到的文件路径
public static bool SaveWebPageToMHTFile(string url, string filePath)
{
bool result = false;
CDO.Message msg = new CDO.MessageClass();
ADODB.Stream stm = null;
try
{
msg.MimeFormatted = true;
msg.CreateMHTMLBody(url, CDO.CdoMHTMLFlags.cdoSuppressNone, "", ""); stm = msg.GetStream();
stm.SaveToFile(filePath, ADODB.SaveOptionsEnum.adSaveCreateOverWrite);
msg = null;
stm.Close();
result = true;
}
catch
{ throw; }
finally
{
//cleanup here
}
return result;
}
//url是要保存的网页地址
//filePath是保存到的文件路径
public static bool SaveWebPageToMHTFile(string url, string filePath)
{
bool result = false;
CDO.Message msg = new CDO.MessageClass();
ADODB.Stream stm = null;
try
{
msg.MimeFormatted = true;
msg.CreateMHTMLBody(url, CDO.CdoMHTMLFlags.cdoSuppressNone, "", ""); stm = msg.GetStream();
stm.SaveToFile(filePath, ADODB.SaveOptionsEnum.adSaveCreateOverWrite);
msg = null;
stm.Close();
result = true;
}
catch
{ throw; }
finally
{
//cleanup here
}
return result;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |