Поделиться через


Функция FtpPutFileA (wininet.h)

Сохраняет файл на FTP-сервере.

Синтаксис

BOOL FtpPutFileA(
  [in] HINTERNET hConnect,
  [in] LPCSTR    lpszLocalFile,
  [in] LPCSTR    lpszNewRemoteFile,
  [in] DWORD     dwFlags,
  [in] DWORD_PTR dwContext
);

Параметры

[in] hConnect

Обработка сеанса FTP.

[in] lpszLocalFile

Указатель на строку, завершающуюся значением NULL, которая содержит имя файла, отправляемого из локальной системы.

[in] lpszNewRemoteFile

Указатель на строку, завершающую значение NULL, содержащую имя файла, который необходимо создать в удаленной системе.

[in] dwFlags

Условия, в которых происходят передачи. Приложение должно выбрать один тип передачи и любой из флагов, которые управляют кэшированием файла.

Тип передачи может быть одним из следующих значений.

Ценность Значение
FTP_TRANSFER_TYPE_ASCII
Передает файл с помощью метода передачи ASCII (Type A) FTP. Сведения об управлении и форматировании преобразуются в локальные эквиваленты.
FTP_TRANSFER_TYPE_BINARY
Передает файл с помощью метода передачи образа FTP (type I). Файл передается точно так же, как он существует без изменений. Это метод передачи по умолчанию.
FTP_TRANSFER_TYPE_UNKNOWN
По умолчанию используется FTP_TRANSFER_TYPE_BINARY.
INTERNET_FLAG_TRANSFER_ASCII
Передает файл как ASCII.
INTERNET_FLAG_TRANSFER_BINARY
Передает файл в двоичный файл.
 

Следующие значения используются для управления кэшированием файла. Приложение может использовать одно или несколько следующих значений.

Ценность Значение
INTERNET_FLAG_HYPERLINK
Принудивает перезагрузку, если срок действия истекает, и время LastModified не возвращается с сервера при определении необходимости перезагрузки элемента из сети.
INTERNET_FLAG_NEED_FILE
Вызывает создание временного файла, если файл не может быть кэширован.
INTERNET_FLAG_RELOAD
Принудительно загружает запрошенный файл, объект или список каталогов с исходного сервера, а не из кэша.
INTERNET_FLAG_RESYNCHRONIZE
Перезагрузит ресурсы HTTP, если ресурс был изменен с момента последнего скачивания. Все ресурсы FTP перезагрузятся.

Windows XP и Windows Server 2003 R2 и более ранних версий: ресурсы Gopher также перезагрузятся.

[in] dwContext

Указатель на переменную, содержащую определяемое приложением значение, которое связывает этот поиск с любыми данными приложения. Этот параметр используется только в том случае, если приложение уже вызывало InternetSetStatusCallback для настройки обратного вызова состояния.

Возвращаемое значение

Возвращает TRUE, если выполнено успешно или FALSE в противном случае. Чтобы получить определенное сообщение об ошибке, вызовите GetLastError.

Замечания

FtpPutFile — это высокоуровневая подпрограмма, которая обрабатывает все расходы, связанные с чтением файла локально и хранением на FTP-сервере. Приложение, которое должно отправлять только данные файлов или требует тесного управления передачей файлов, должно использовать функции FtpOpenFile и InternetWriteFile.

Если параметр dwFlags указывает FILE_TRANSFER_TYPE_ASCII, преобразование данных файла преобразует символы управления и форматирования в локальные эквиваленты.

Оба lpszNewRemoteFile и lpszLocalFile могут быть либо частично, либо полными именами файлов относительно текущего каталога.

Как и все остальные аспекты API WinINet, эта функция не может быть безопасно вызвана из dllMain или конструкторов и деструкторов глобальных объектов.

Примечание WinINet не поддерживает реализации сервера. Кроме того, его не следует использовать из службы. Для реализации или служб сервера microsoft Windows HTTP Services (WinHTTP).
 

Заметка

Заголовок wininet.h определяет FtpPutFile как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка wininet.h
библиотеки Wininet.lib
DLL Wininet.dll

См. также

сеансов FTP

функций WinINet