CHttpClient::PutData Method  
 
INT PutData(
  LPCTSTR lpszRemoteFile,  
  LPBYTE lpBuffer,  
  DWORD dwLength  
);
INT PutData(
  LPCTSTR lpszRemoteFile,  
  LPCTSTR lpszBuffer  
);

The PutData method copies the contents of the specified buffer and stores it in a file on the server.

Parameters

lpszRemoteFile
A null-terminated string that specifies the file on the server that will be created. This string may specify a valid URL for the current server that the client is connected to.
lpBuffer
A buffer which will contain the data to be transferred from the client and stored in a file on the server. In an alternate form of the method, this may be a null terminated string.
dwLength
The number of bytes to copy from the buffer.

Return Value

If the method succeeds, the return value is the server result code. If the method fails, the return value is HTTP_ERROR. To get extended error information, call GetLastError.

Remarks

The PutData method is used to store the contents of the specified buffer in a file on the server. Not all servers permit files to be created using this method, and some may require that specific configuration changes be made to the server in order to support this functionality. Consult your server's technical reference documentation to see if it supports the PUT command, and if so, what must be done to enable it. It may be required that the client authenticate itself using the Authenticate method prior to uploading the data.

This method is designed for uploading the contents of a buffer to be stored as a file on the server. If the client connection was established using the HTTP_OPTION_KEEPALIVE option, this method will always close the connection after the data transfer has completed and will discard any response from the server. You must re-establish the connection after this method has completed if you wish to submit additional data to the server.

This method will cause the current thread to block until the file transfer completes, a timeout occurs or the transfer is canceled. During the transfer, the HTTP_EVENT_PROGRESS event will be periodically fired, enabling the application to update any user interface controls. Event notification must be enabled, either by calling EnableEvents, or by registering a callback function using the RegisterEvent method.

To determine the current status of a transfer while it is in progress, use the GetTransferStatus method.

Requirements

Minimum Desktop Platform: Windows 7 Service Pack 1
Minimum Server Platform: Windows Server 2008 R2 Service Pack 1
Header File: cstools11.h
Import Library: cshtpv11.lib
Unicode: Implemented as Unicode and ANSI versions

See Also

EnableEvents, GetData, GetFile, GetTransferStatus, PostData, PutFile, RegisterEvent