我想下载一个文件并在本地保存,没有任何弹出窗口供用户选择位置,因为它是预定义的。文件格式很可能是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);
}
答案 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以报告进度,例如DownloadProgressChanged
和DownloadFileCompleted
。
答案 3 :(得分:-1)
您应该标记您正在使用的语言。
此外,我不相信浏览器会在不先询问用户的情况下下载文件,因为这是一个安全问题。在他们不知情的情况下,您可以轻松地将病毒传播到人们的计算机上。