【问题标题】:Can i Use FTP for accessing remote Folder and Files我可以使用 FTP 访问远程文件夹和文件吗
【发布时间】:2011-07-27 04:25:26
【问题描述】:

我在远程服务器的文件夹中有一组 excel 文件。一个 WPF 应用程序正在我的本地机器上运行。现在我希望能够查看远程文件夹中的文件并下载。如何做到这一点?

我可以为此使用 FTP 吗? 如果可能怎么做?

提前致谢。 :)

【问题讨论】:

  • 哦,拜托,你用谷歌搜索过你自己的问题吗?

标签: .net wpf ftp


【解决方案1】:

这是可能的。这是一个不错的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

【讨论】:

  • “WPF 和 .Net 中的简易 FTP” --- 只是好奇,这段代码中 WPF 特定的内容是什么?顺便说一句,如果该示例中引发任何异常,则不会处理流。不推荐它作为一个很好的例子
  • 这是可以通过简单地使用谷歌找到的答案类型。所以我提供了官方文档(MSDN)和一个例子,因为 MSDN 有时有点糟糕。 FtpWebRequest 在 WPF 中可用,所以我不明白你的抱怨是什么。如果他问如何在 WPF 中添加两个数字,你会抱怨答案“c = a + b;”吗?不是“特定于 WPF”的吗?
  • 众所周知,示例通常不提供健壮的错误处理。它只是掩盖了这个问题。如果您想为 SO 上的每个示例添加完整和完整的错误处理,那么请成为我的客人。
  • 添加using和一对花括号并不难
  • 不要通过评论您认为需要改进的答案来抱怨小问题,只需使用编辑链接即可。这就是它的用途。你有足够的代表这样做。
猜你喜欢
  • 2019-10-28
  • 1970-01-01
  • 2018-05-08
  • 2018-05-24
  • 2015-03-21
  • 1970-01-01
  • 1970-01-01
  • 2016-06-26
  • 1970-01-01
相关资源
最近更新 更多