【发布时间】:2011-07-27 04:25:26
【问题描述】:
我在远程服务器的文件夹中有一组 excel 文件。一个 WPF 应用程序正在我的本地机器上运行。现在我希望能够查看远程文件夹中的文件并下载。如何做到这一点?
我可以为此使用 FTP 吗? 如果可能怎么做?
提前致谢。 :)
【问题讨论】:
-
哦,拜托,你用谷歌搜索过你自己的问题吗?
我在远程服务器的文件夹中有一组 excel 文件。一个 WPF 应用程序正在我的本地机器上运行。现在我希望能够查看远程文件夹中的文件并下载。如何做到这一点?
我可以为此使用 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
【讨论】:
using和一对花括号并不难