📖upload

circle-exclamation
void upload(string localFullPath);

localFullPath - Локальный путь до файла

Пример:

MultiAPI.FTP newFTP = new MultiAPI.FTP("ftp://0.0.0.0:21/file.exmp", "root", "12345678");
newFTP.upload("C:\\Folder\\newFile.txt");

Описание:

Отправляем файл на FTP сервер

Исключения:

Исключения: 0x00003, 0x00004

Обработка: Исключенияarrow-up-right

Код:

FTP.cs
public void upload(string localFullPath)
{
    if (string.IsNullOrEmpty(localFullPath)) throw new Exception("0x00003"); // Если "localFullPath" пустой, то выдаём исключение "0x00003"
    if (!File.Exists(localFullPath)) throw new Exception("0x00004"); // Если файл по пути "localFullPath" не найден, то выдаём исключение "0x00004"

    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(_host); // Создаём соединение с "_host"

    request.Method = WebRequestMethods.Ftp.UploadFile; // Устанавливаем метод запроса как загрузка файла
    request.Credentials = new NetworkCredential(_userName, _password); // Устанавливаем учетные данные для аутентификации на сервере
    request.UsePassive = true; // Устанавливаем пассивный режим для передачи данных
    request.UseBinary = true; // Устанавливаем бинарный режим передачи данных
    request.KeepAlive = false; // Отключаем поддержание активного соединения

    using (Stream inputStream = File.OpenRead(localFullPath)) // Открываем поток для чтения содержимого локального файла
    using (Stream outputStream = request.GetRequestStream()) // Получаем поток для записи данных на FTP сервер
    {
        byte[] buffer = new byte[1024]; // Создаем буфер для чтения файла порциями
        int bytesRead = 0; // Переменная для хранения количества считанных байт
        while ((bytesRead = inputStream.Read(buffer, 0, buffer.Length)) > 0) outputStream.Write(buffer, 0, bytesRead); // Пишем порцию данных в поток для записи на сервер
    }
}

Last updated

Was this helpful?