打开文件并保存

时间:2009-11-20 15:32:49

标签: c# webclient download

我想下载一个文件并在本地保存,没有任何弹出窗口供用户选择位置,因为它是预定义的。文件格式很可能是pdf。下载文件路径将是一个网址,我想在本地保存。我是这样上班的吗?

string fileName = "http://mail.example.com/download.asp?saveFile=example.pdf";  

BinaryReader binReader = new BinaryReader(File.Open(fileName, FileMode.Open));  

string path = "C:\\Domains\\shared.example.com\\pdf\\example.pdf";  

using (BinaryWriter Writer = new BinaryWriter(new FileStream(path,FileMode.OpenOrCreate)))  
{  
    Writer.Write(binReader);  
}

4 个答案:

答案 0 :(得分:1)

这更容易:

WebClient wc = new WebClient();
wc.DownloadFile(filename, path);

答案 1 :(得分:0)

不,那不是那种方式......你必须使用WebRequest-Class来获取文件。

巴比

答案 2 :(得分:0)

使用

new WebClient().DownloadFile("http://url/name.pdf", @"C:\locationOnFilesystem.pdf");

您可以使用DownloadFileAsync执行此操作而不会阻止主线程。将事件处理程序附加到WebClient以报告进度,例如DownloadProgressChangedDownloadFileCompleted

答案 3 :(得分:-1)

您应该标记您正在使用的语言。

此外,我不相信浏览器会在不先询问用户的情况下下载文件,因为这是一个安全问题。在他们不知情的情况下,您可以轻松地将病毒传播到人们的计算机上。