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.
// Needs #include <CkHttp.h> // Needs #include <CkHttpRequest.h> // Needs #include <CkHttpResponse.h> CkString strOut; bool success; CkHttp http; // Any string unlocks the component for the 1st 30-days. success = http.UnlockComponent("Anything for 30-day trial"); if (success != true) { strOut.append(http.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Build a HTTP request with the files to be uploaded: CkHttpRequest req; req.UseUpload(); // The URL we'll be posting to is: // http://www.chilkatsoft.com/receiveUpload.aspx // Therefore, the path part of the URL is: req.put_Path("/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 = req.AddFileForUpload("file1","hamlet.xml"); if (success != true) { strOut.append(req.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } success = req.AddFileForUpload("file2","dude.gif"); if (success != true) { strOut.append(req.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Additional non-file params may be added to the POST request // by calling AddParam: req.AddParam("extraParam1","abc123"); req.AddParam("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. const char * domain; long port; bool ssl; domain = "www.chilkatsoft.com"; port = 80; ssl = false; CkHttpResponse *resp = 0; resp = http.SynchronousRequest(domain,port,ssl,req); if (resp == 0 ) { strOut.append(http.lastErrorText()); strOut.append("\r\n"); } else { // Display the HTML source of the page returned. strOut.append(resp->bodyStr()); strOut.append("\r\n"); } SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.