从网上下载文件,然后使用保存文件对话框保存?
Posted
技术标签:
【中文标题】从网上下载文件,然后使用保存文件对话框保存?【英文标题】:Download file from web and then save with a save file dialog box? 【发布时间】:2013-11-14 07:48:55 【问题描述】:如何下载文件,然后将其保存到我想要的任何位置?我正在使用 Windows 窗体、Web 应用程序。
我知道我可以用这个代码下载它:
WebClient wClient = new WebClient();
wClient.DownloadFile("WebLinkHere", @"C:\File.txt");
但我想要一个保存框,就像你按下 CTRL+S 时一样。
【问题讨论】:
你在使用 winforms\wpf 吗?那是一个网络应用程序吗?一些完整的场景将不胜感激。 我正在使用 Windows 窗体,是的,Web 应用程序! 【参考方案1】:您可以使用SaveFileDialog 类。示例:
var dialog = new SaveFileDialog();
dialog.Filter = "Archive (*.rar)|*.rar";
var result = dialog.ShowDialog(); //shows save file dialog
if(result == DialogResult.OK)
Console.WriteLine ("writing to: " + dialog.FileName); //prints the file to save
var wClient = new WebClient();
wClient.DownloadFile("WebLinkHere", dialog.FileName);
将显示下一个对话框,如果您搜索下一个文件夹
应用程序将打印:
writing to: C:\Temp\archiveName.rar
【讨论】:
如果我只想将它保存为.rar 怎么样? 刚刚做到了。感谢您的帮助!【参考方案2】:这将起作用并打开文件下载弹出窗口。
String FileName = "FileName.xls";
Response.ClearContent();
Response.Buffer = true;
Response.AddHeader("content-disposition", string.Format("attachment; filename=0", FileName));
Response.ContentType = "application/ms-excel";
StringWriter stringWriter = new StringWriter();
htmlTextWriter htmlTextWriter = new HtmlTextWriter(stringWriter);
Response.Write(stringWriter.ToString());
Response.End();
【讨论】:
以上是关于从网上下载文件,然后使用保存文件对话框保存?的主要内容,如果未能解决你的问题,请参考以下文章