Не удается подключиться к FTP с сервера Windows с помощью объекта .net FTPCLIENT - PullRequest
0 голосов
/ 06 февраля 2019

Мы пытаемся подключиться к FTP-серверу, расположенному на экземпляре AWS EC2.Вот наш код, с помощью которого мы загружаем файлы на FTP-сервер.

string ftp = " ftp: //server.com/";

//FTP Folder name. Leave blank if you want to upload to root folder.
string ftpFolder = "/";

byte[] fileBytes = null;

//Read the FileName and convert it to Byte array.
string fileName = Path.GetFileName(FileUpload1.FileName);
using (StreamReader fileStream = new StreamReader(FileUpload1.PostedFile.InputStream))
{
    fileBytes = Encoding.UTF8.GetBytes(fileStream.ReadToEnd());
    fileStream.Close();
}

try
{
    //Create FTP Request.
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftp + ftpFolder + fileName);
    request.Method = WebRequestMethods.Ftp.UploadFile;

    //Enter FTP Server credentials.
    request.Credentials = new NetworkCredential("username", @"password");
    request.ContentLength = fileBytes.Length;
    request.UsePassive = true;
    request.UseBinary = true;
    request.ServicePoint.ConnectionLimit = fileBytes.Length;
    request.EnableSsl = false;

    using (Stream requestStream = request.GetRequestStream())
    {
        requestStream.Write(fileBytes, 0, fileBytes.Length);
        requestStream.Close();
    }

    FtpWebResponse response = (FtpWebResponse)request.GetResponse();

    lblMessage.Text += fileName + " uploaded.<br />";
    response.Close();
}
catch (WebException ex)
{
    throw new Exception((ex.Response as FtpWebResponse).StatusDescription);
}

Код работает с нашего локального компьютера.Но то же самое не работает на сервере производства Windows.Однако тот же FTP работает с filezilla с рабочего сервера Windows.

У нас уже есть белый список ip рабочего сервера Windows во входящем правиле AWS.

Пожалуйста, помогите нам найти решение.

...