Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) Add Data to multipart/form-data RequestDemonstrates how to add content (such as a JPG, PDF, XML, etc.) to multipart/form-data requests.
Use ChilkatAx-win32.pkg Procedure Test Handle hoReq Variant vBd Handle hoBd Boolean iSuccess // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatHttpRequest)) To hoReq If (Not(IsComObjectCreated(hoReq))) Begin Send CreateComObject of hoReq End Set ComHttpVerb Of hoReq To "POST" Set ComContentType Of hoReq To "multipart/form-data" Set ComPath Of hoReq To "/xyz/something" Send ComAddParam To hoReq "param1" "value1" Send ComAddParam To hoReq "param2" "value2" // Add some small files to the request. (Small so we can see what the full request looks like without too much data..) Get Create (RefClass(cComChilkatBinData)) To hoBd If (Not(IsComObjectCreated(hoBd))) Begin Send CreateComObject of hoBd End Get ComLoadFile Of hoBd "qa_data/jpg/starfish20.jpg" To iSuccess Get pvComObject of hoBd to vBd Get ComAddBdForUpload Of hoReq "starfish20" "starfish20.jpg" vBd "image/jpeg" To iSuccess Get ComLoadFile Of hoBd "qa_data/pdf/helloWorld.pdf" To iSuccess Get pvComObject of hoBd to vBd Get ComAddBdForUpload Of hoReq "helloWorld" "helloWorld.pdf" vBd "application/pdf" To iSuccess Get ComLoadFile Of hoBd "qa_data/xml/tinyA.xml" To iSuccess Get pvComObject of hoBd to vBd Get ComAddBdForUpload Of hoReq "tinyA" "tinyA.xml" vBd "text/xml" To iSuccess // This HTTP request contains binary data, so we cannot call GenerateRequestText // to examine it as a string. We can instead call GenerateRequestFile // to write the request to a file and then examine using a hex editor, // or an editor that is capable of handling null bytes and non-printable chars (perhaps by displaying "?" chars instead). Get ComGenerateRequestFile Of hoReq "qa_output/multipartFormDataRequest.bin" To iSuccess Showln "OK." // This is the HTTP multipart/form-data request built by the above code: // POST /xyz/something HTTP/1.1 // Host: domain // Content-Type: multipart/form-data; boundary=------------090708030009010000030901 // Content-Length: 2220 // // --------------090708030009010000030901 // Content-Disposition: form-data; name="param1" // // value1 // --------------090708030009010000030901 // Content-Disposition: form-data; name="param2" // // value2 // --------------090708030009010000030901 // Content-Disposition: form-data; name="starfish20"; filename="starfish20.jpg" // Content-Type: image/jpeg // // JPEG DATA HERE... // --------------090708030009010000030901 // Content-Disposition: form-data; name="helloWorld"; filename="helloWorld.pdf" // Content-Type: application/pdf // // PDF DATA HERE... // --------------090708030009010000030901 // Content-Disposition: form-data; name="tinyA"; filename="tinyA.xml" // Content-Type: text/xml // // XML DATA HERE... // --------------090708030009010000030901-- // End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.