我在远程服务器的文件夹中设置了excel文件。一个WPF应用程序正在我的本地机器上运行。现在我想能够查看远程文件夹中的文件并下载。如何实现这一目标?我可以使用FTP访问远程文件夹和文件
我可以使用FTP吗? 如果可能如何?
在此先感谢。 :)
我在远程服务器的文件夹中设置了excel文件。一个WPF应用程序正在我的本地机器上运行。现在我想能够查看远程文件夹中的文件并下载。如何实现这一目标?我可以使用FTP访问远程文件夹和文件
我可以使用FTP吗? 如果可能如何?
在此先感谢。 :)
这是可能的。这是一个不错的example。和msdn documentation。
FileStream outputStream = new FileStream(destinationoffile, FileMode.Create);
FtpWebRequest request = FtpWebRequest.Create(FTPAddress + "/" + filename) as FtpWebRequest;
request.Credentials = new NetworkCredential(username, password);
request.UsePassive = true;
request.Method = WebRequestMethods.Ftp.DownloadFile;
FtpWebResponse response = request.GetResponse() as FtpWebResponse;
Stream responseStream = response.GetResponseStream();
long cl = response.ContentLength;
int bufferSize = 2048;
int readCount;
float perc = 0;
float result = 0;
float totalread = 0;
byte[] buffer = new byte[bufferSize];
readCount = responseStream.Read(buffer, 0, bufferSize);
while (readCount > 0)
{
totalread += readCount;
result = totalread/fileSize;
perc = result * 100;
progress.Value = perc; // this is a progressbar on my screen so may show error for you
outputStream.Write(buffer, 0, readCount);
readCount = responseStream.Read(buffer, 0, bufferSize);
}
responseStream.Close();
response.Close();
outputStream.Close(); // keeps file open if not closed
“简单的FTP在WPF和.Net”---只是好奇,在这段代码中WPF特定的是什么?顺便说一下,如果在样本中抛出任何异常,流将不会被处置。不会推荐它作为一个很好的例子*。 – zerkms
这是可以通过简单使用Google找到的答案类型。所以我提供了官方文档(MSDN)和一个例子,因为MSDN在某些时候会有些不好的例子。 FtpWebRequest在WPF中可用,所以我不明白你的抱怨是什么。如果他问如何在WPF中添加两个数字,你会抱怨答案“c = a + b;”不是“WPF特定的”? – colithium
实例通常不提供可靠的错误处理是非常常见的知识。它只是掩盖了这个问题。如果你想添加完整的和完整的错误处理到每个例子,然后成为我的客人。 – colithium
哦,来吧,你有没有为你自己的问题搜索? – zerkms