This function stores a file on the FTP server. It differs from FtpPutFile in that it converts a file name that is in MBCS format to DBCS format before storing the file. If support for MBCS files is not needed, use the FtpPutFile function.
|
BOOLAPI FtpPutFileEx(
HINTERNET hFtpSession,
LPCTSTR lpszLocalFile,
LPCTSTR lpszNewRemoteFile,
DWORD dwFlags,
DWORD dwContext
); |
Parameters
- hFtpSession
- [in] Valid handle to an FTP session.
- lpszLocalFile
- [in] Long pointer to a null-terminated string that contains the file name to send from the local system.
- lpszNewRemoteFile
- [in] Long pointer to a null-terminated string that contains the file name to create on the remote system.
- dwFlags
- [in] Specifies the conditions under which the transfer occurs. The following table shows the possible values. This parameter can be any combination of these values.
| Value | Description |
| INTERNET_FLAG_DONT_CACHE | Does not add the returned entity to the cache. Identical to the preferred value INTERNET_FLAG_NO_CACHE_WRITE. |
| INTERNET_FLAG_HYPERLINK | Forces a reload if there was no Expires time and no Last-Modified time returned by the server when determining whether to reload the item from the network. |
| INTERNET_FLAG_MUST_CACHE_REQUEST | Causes a temporary file to be created if the file cannot be cached. Identical to the preferred value INTERNET_FLAG_NEED_FILE. |
| INTERNET_FLAG_NEED_FILE | Causes a temporary file to be created if the file cannot be cached. |
| INTERNET_FLAG_NO_CACHE_WRITE | Does not add the returned entity to the cache. If the INTERNET_FLAG_HYPERLINK is also specified, WinInet will create the cache file but will not commit it. |
| INTERNET_FLAG_RELOAD | Forces a download of the requested file, object, or directory listing from the origin server, not from the cache. |
| INTERNET_FLAG_RESYNCHRONIZE | Performs a conditional download of the file. |
| INTERNET_FLAG_TRANSFER_ASCII | Transfers the file as ASCII. |
| INTERNET_FLAG_TRANSFER_BINARY | Transfers the file as binary. |
- dwContext
- [in] Specifies an application-defined value that associates this search with application data. This parameter is used only if the application has already called InternetSetStatusCallback to set up a status callback. All status requests are handled synchronously.
Return Values
TRUE indicates success. FALSE indicates failure. To get extended error data, call GetLastError.
Remarks
FtpPutFileEx is a high-level routine that handles all the bookkeeping and overhead associated with reading a file locally and storing it on an FTP server. An application that needs to send file data only, or that requires close control over the file transfer, should use the FtpOpenFile and InternetWriteFile functions.
If the dwTransferType parameter specifies FILE_TRANSFER_TYPE_ASCII, translation of the file data converts control and formatting characters to local equivalents.
Both lpszNewRemoteFile and lpszLocalFile can be either partially or fully qualified file names relative to the current directory. A backward slash (\) or forward slash (/) can be used as the directory separator for either name. FtpPutFileEx translates the directory name separators to the appropriate character before they are used.
Requirements
OS Versions: Windows CE .NET 4.0 and later.
Header: Wininet.h.
Link Library: Wininet.lib.
See Also
WinInet Functions
Send Feedback on this topic to the authors
Feedback FAQs