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


Функция 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

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

[in] dwFlags

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

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

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

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

Значение Значение
INTERNET_FLAG_HYPERLINK
При определении того, следует ли перезагрузить элемент из сети, принудительно выполняется перезагрузка, если не было возвращено время истечения срока действия и время последнегоmodified, возвращенное сервером.
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 (WinHTTP).
 

Примечание

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

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header wininet.h
Библиотека Wininet.lib
DLL Wininet.dll

См. также раздел

Сеансы FTP

Функции WinINet