FtpWebRequest
を使用してファイルをダウンロードしようとしています。それは、それをダウンロードしFtpWebRequestを使用したファイルのダウンロード
private FtpWebRequest CreateFtpWebRequest(string ftpDirectoryPath, string userName, string password, bool keepAlive = false)
{
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(new Uri(ftpDirectoryPath));
//Set proxy to null. Under current configuration if this option is not set then the proxy that is used will get an html response from the web content gateway (firewall monitoring system)
request.Proxy = null;
request.UsePassive = true;
request.UseBinary = true;
request.KeepAlive = keepAlive;
request.Credentials = new NetworkCredential(userName, password);
return request;
}
:
private void DownloadFile(string userName, string password, string ftpSourceFilePath, string localDestinationFilePath)
{
int bytesRead = 0;
byte[] buffer = new byte[1024];
FtpWebRequest request = CreateFtpWebRequest(ftpSourceFilePath, userName, password, true);
request.Method = WebRequestMethods.Ftp.DownloadFile;
Stream reader = request.GetResponse().GetResponseStream();
BinaryWriter writer = new BinaryWriter(File.Open(localDestinationFilePath, FileMode.CreateNew));
while (true)
{
bytesRead = reader.Read(buffer, 0, buffer.Length);
if (bytesRead == 0)
break;
writer.Write(buffer, 0, bytesRead);
}
}
は、それは私が作成したこのCreateFtpWebRequest
メソッドを使用しています。しかし、情報は常に壊れています。誰が何が起こっているのか知っていますか?
「常に破損しています」とはどういう意味ですか?より具体的にしてください。 – PVitt
私は別の問題を抱えていましたが、 'CreateFtpWebRequest'関数の' request.Proxy = null'行の上の記述コメントは私が持っていた問題を解決しました。したがって、upvote! – UnTraDe