{% else-1 %}
Пользуемся так:
FTPUploadFile(Удалён src="/content/reactions/bystrie/podmig-original.png" alt="*" />;

                        
// Закачка файла на FTP-сервер
private void FTPUploadFile(string filename)
{
FileInfo fileInfo = new FileInfo(filename);

// Создаем объект FtpWebRequest, используя заданный адрес
FtpWebRequest reqFTP = (FtpWebRequest)FtpWebRequest.Create(
new Uri("ftp://" + "ftp.narod.ru" + "/" + fileInfo.Name)
);

// Авторизация по логину и паролю
reqFTP.Credentials = new NetworkCredential("login", "pass");

// По умолчанию свойство KeepAlive равно true,
// если соединение не обрывается после выполнения команды
reqFTP.KeepAlive = false;

// Задаем нужную команду (ключевой момент)
reqFTP.Method = WebRequestMethods.Ftp.UploadFile;

// Указываем тип данных при передаче файлов
reqFTP.UseBinary = true;

// Сообщаем серверу о размере закачиваемого файла
reqFTP.ContentLength = fileInfo.Length;

// Устанавливаем размер буфера в 2 Кбайт
int buffLength = 2048;
byte[] buff = new byte[buffLength];
int contentLen;

// Открываем файловый поток (System.10.FileStream) для чтения
FileStream fs = fileInfo.OpenRead();
try
{
// Поток, в который записывается закачиваемый на сервер файл
Stream strm = reqFTP.GetRequestStream();
// Читаем из файлового потока по 2 Кбайт за раз
contentLen = fs.Read(buff, 0, buffLength);
// Пока файл не закончился
while (contentLen != 0)
{
// Запишем прочитанное в поток закачки
strm.Write(buff, 0, contentLen);
contentLen = fs.Read(buff, 0, buffLength);
}
// Закрываем файловый поток и поток запроса
strm.Close();
fs.Close();
}
catch (Exception ex)
{
//MessageBox.Show(ex.Message, "Ошибка при закачке файла");
}
}
0 27 0
Без комментариев...