У меня есть небольшая winform C #, в которой я создаю несколько текстовых файлов, а затем перемещаю их на ftp-сервер. Когда я пытаюсь переместить их на рабочий сервер, он не работает под
Удаленный сервер возвратил ошибку: (530) Не авторизован.
Если я вхожу в ftp через cmd / ftp с тем же адресом ftp, именем пользователя и паролем, все в порядке. Я также установил локальный ftp-сервер на свой компьютер и протестировал его, чтобы увидеть, может ли мой код генерировать ошибку, но локально он работает как шарм, у меня проблема только с производственным ftp-сервером. Ниже мой код для подключения и загрузки файлов на ftp-сервер:
string[] FileName = Directory.GetFiles(outputpath);
foreach (string txtFile in FileName)
{
FileInfo toUpload = new FileInfo(txtFile);
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://" + tbFTPAddress.Text + @"//" + toUpload.Name);
request.Credentials = new NetworkCredential(tbFTPUserName.Text.Trim(), tbFTPPassword.Text.Trim());
request.Method = WebRequestMethods.Ftp.UploadFile;
Stream ftpStream = request.GetRequestStream();
FileStream file = File.OpenRead(txtFile);
int length = 1024;
byte[] buffer = new byte[length];
int bytesRead = 0;
try
{
do
{
bytesRead = file.Read(buffer, 0, length);
ftpStream.Write(buffer, 0, bytesRead);
}
while (bytesRead != 0);
file.Close();
ftpStream.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error encountered!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
if (file != null) file.Close();
if (ftpStream != null) ftpStream.Close();
}
}
Ошибка возникает по адресу: Stream ftpStream = request.GetRequestStream();
Любые идеи?
Спасибо!