Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
Upload Files with ParamsDemonstrates how to upload files with extra form parameters from an application to a web server. Note: There must be something provided on the server-side to consume the upload. It could be an ASP or ASP.NET script, Perl, C++ CGI, PHP, Ruby, etc,. However, uploading via HTTP is not the same as uploading via FTP where the FTP server handles receiving the file and saving to disk. The C# code behind http://www.chilkatsoft.com/receiveUpload.aspx may be found at this URL: C# to Receive Upload in ASP.NET.
#include <C_CkHttp.h> #include <C_CkHttpRequest.h> #include <C_CkHttpResponse.h> void ChilkatSample(void) { BOOL success; HCkHttp http; HCkHttpRequest req; const char * domain; long port; BOOL ssl; HCkHttpResponse resp; http = CkHttp_Create(); // Any string unlocks the component for the 1st 30-days. success = CkHttp_UnlockComponent(http,"Anything for 30-day trial"); if (success != TRUE) { printf("%s\n",CkHttp_lastErrorText(http)); return; } // Build a HTTP request with the files to be uploaded: req = CkHttpRequest_Create(); CkHttpRequest_UseUpload(req); // The URL we'll be posting to is: // http://www.chilkatsoft.com/receiveUpload.aspx // Therefore, the path part of the URL is: CkHttpRequest_putPath(req,"/receiveUpload.aspx"); // Note: You may test uploads to this URL, but anything over 80K will be aborted on the receiving side. // Add some files to the request: // The 1st argument is an arbitrary name. It's the POST form field name. // The 2nd argument is the filename currently existing on // the local filesystem. It may include an absolute or relative // path, or no path at all if it's in the current working directory. success = CkHttpRequest_AddFileForUpload(req,"file1","hamlet.xml"); if (success != TRUE) { printf("%s\n",CkHttpRequest_lastErrorText(req)); return; } success = CkHttpRequest_AddFileForUpload(req,"file2","dude.gif"); if (success != TRUE) { printf("%s\n",CkHttpRequest_lastErrorText(req)); return; } // Additional non-file params may be added to the POST request // by calling AddParam: CkHttpRequest_AddParam(req,"extraParam1","abc123"); CkHttpRequest_AddParam(req,"extraParam2","This is the content for my POST param"); // Send the HTTP POST and get the response. Note: This is a blocking call. // The method does not return until the full HTTP response is received. domain = "www.chilkatsoft.com"; port = 80; ssl = FALSE; resp = CkHttp_SynchronousRequest(http,domain,port,ssl,req); if (resp == 0 ) { printf("%s\n",CkHttp_lastErrorText(http)); } else { // Display the HTML source of the page returned. printf("%s\n",CkHttpResponse_bodyStr(resp)); } CkHttp_Dispose(http); CkHttpRequest_Dispose(req); } |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.