C
C
HTTPS Upload File to Web Server
See more HTTP Examples
Uploads a file to a web server using HTTPS.Chilkat C Downloads
#include <C_CkHttpRequest.h>
#include <C_CkHttp.h>
#include <C_CkHttpResponse.h>
void ChilkatSample(void)
{
BOOL success;
HCkHttpRequest req;
HCkHttp http;
BOOL useSslTls;
HCkHttpResponse 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 = CkHttpRequest_Create();
CkHttpRequest_putHttpVerb(req,"POST");
CkHttpRequest_putPath(req,"/receiveMyUpload.aspx");
CkHttpRequest_putContentType(req,"multipart/form-data");
CkHttpRequest_AddStringForUpload(req,"fileA","fileA.txt","This is the contents of file A","utf-8");
success = CkHttpRequest_AddFileForUpload(req,"starfish.jpg","qa_data/jpg/starfish.jpg");
if (success == FALSE) {
printf("%s\n",CkHttpRequest_lastErrorText(req));
CkHttpRequest_Dispose(req);
return;
}
http = CkHttp_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 = CkHttpResponse_Create();
success = CkHttp_HttpSReq(http,"www.example.com",443,useSslTls,req,resp);
if (success == FALSE) {
printf("%s\n",CkHttp_lastErrorText(http));
CkHttpRequest_Dispose(req);
CkHttp_Dispose(http);
CkHttpResponse_Dispose(resp);
return;
}
printf("response status code = %d\n",CkHttpResponse_getStatusCode(resp));
printf("response body:\n");
printf("%s\n",CkHttpResponse_bodyStr(resp));
CkHttpRequest_Dispose(req);
CkHttp_Dispose(http);
CkHttpResponse_Dispose(resp);
}