十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
老实说不一定要webBrowser,这是Windows下载文件界面啊,不是VB.Net画出来的。
创新互联公司于2013年开始,是专业互联网技术服务公司,拥有项目成都网站设计、成都网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元云城做网站,已为上家服务,为云城各地企业和个人服务,联系电话:18982081108
真的是做下载文件,WebClient.DownloadFile方法就足够了,调用方法后会自动弹出Windows下载任务窗口。
在VS.NET里也提供了一个com接口,可以直接调用迅雷的dll,下载文件可以让你自由选择是用迅雷下载还是通过Windows下载任务来执行下载。
webBroser下载文件
FileInfo file = new System.IO.FileInfo(Server.MapPath(path));
if (File.Exists(Server.MapPath(path)))
{
string name = Path.GetFileName(Server.MapPath(path));
//存在文件
Response.Clear();
Response.Buffer = false;
//通知浏览器下载文件而不是打开
Response.ContentType = "application/octet-stream";
//下载的文件名
Response.AppendHeader("content-disposition", "attachment;filename=" + name);
//文件的大小
Response.AppendHeader("Content-Length", file.Length.ToString());
Response.WriteFile(path);
}
介绍一个更简单的方法给你,从webbrowser获取点击的超连接,然后自由选择下载,先在引用里引用com组件
然后在点击事件中加代码
string url = webBrowser1.Document.Links[1].GetAttribute("href");
ThunderAgentLib.AgentClass agent = new ThunderAgentLib.AgentClass();//创建对象
agent.AddTask(url, "默认保存文件名", "C:\\默认路径", "", "", 1, 0, 5);
agent.CommitTasks2(1);//提交
我用的是C#代码,VB.NET大同小异
Private Sub Command1_Click()
Dim sf As String, df As String
CommonDialog1.ShowOpen
sf = CommonDialog1.FileName
If sf "" Then
df = "e:\tmp\" CommonDialog1.FileTitle '保存到e:\tmp文件夹,自己改
If Dir(df) "" Then
If MsgBox("目标文件已存在,是否覆盖?", vbYesNo) vbYes Then Exit Sub
End If
FileCopy sf, df
MsgBox sf vbCrLf "已保存为" vbCrLf df
End If
End Sub
你就不能这样保存么? ↓
Static SaveNumber as Integer
SaveNumber += 1
Dim SavePath as String = "C:\ytakqi" SaveNumber ".png"
bit.Save(SavePath)