Unicode C
Unicode C
HTTPS Upload File to Web Server
See more HTTP Examples
Uploads a file to a web server using HTTPS.Chilkat Unicode C Downloads
#include <C_CkHttpRequestW.h>
#include <C_CkHttpW.h>
#include <C_CkHttpResponseW.h>
void ChilkatSample(void)
{
BOOL success;
HCkHttpRequestW req;
HCkHttpW http;
BOOL useSslTls;
HCkHttpResponseW resp;
success = FALSE;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// The ContentType, HttpVerb, and Path properties should
// always be explicitly set.
req = CkHttpRequestW_Create();
CkHttpRequestW_putHttpVerb(req,L"POST");
CkHttpRequestW_putPath(req,L"/receiveMyUpload.aspx");
CkHttpRequestW_putContentType(req,L"multipart/form-data");
CkHttpRequestW_AddStringForUpload(req,L"fileA",L"fileA.txt",L"This is the contents of file A",L"utf-8");
success = CkHttpRequestW_AddFileForUpload(req,L"starfish.jpg",L"qa_data/jpg/starfish.jpg");
if (success == FALSE) {
wprintf(L"%s\n",CkHttpRequestW_lastErrorText(req));
CkHttpRequestW_Dispose(req);
return;
}
http = CkHttpW_Create();
// ----------------------------------------------------------------------------
// IMPORTANT:
// HTTP uploads require a counterpart implementation on the server, written in any desired language
// such as C#, Classic ASP, PHP, etc., which consumes the upload being sent.
// See: ASP.NET Receive Upload
// ----------------------------------------------------------------------------
// Do the upload.
useSslTls = TRUE;
resp = CkHttpResponseW_Create();
success = CkHttpW_HttpSReq(http,L"www.example.com",443,useSslTls,req,resp);
if (success == FALSE) {
wprintf(L"%s\n",CkHttpW_lastErrorText(http));
CkHttpRequestW_Dispose(req);
CkHttpW_Dispose(http);
CkHttpResponseW_Dispose(resp);
return;
}
wprintf(L"response status code = %d\n",CkHttpResponseW_getStatusCode(resp));
wprintf(L"response body:\n");
wprintf(L"%s\n",CkHttpResponseW_bodyStr(resp));
CkHttpRequestW_Dispose(req);
CkHttpW_Dispose(http);
CkHttpResponseW_Dispose(resp);
}