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
(AutoIt) HTTP multipart/form-data UploadDemonstrates how to upload files to an HTTP server using a multipart/form-data POST.
; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. $oHttp = ObjCreate("Chilkat.Http") $oReq = ObjCreate("Chilkat.HttpRequest") $oReq.HttpVerb = "POST" $oReq.ContentType = "multipart/form-data" $oReq.Path = "rcvFormDataUpload.aspx" ; Send an "Expect: 100-continue" header in the request. ; This causes the HTTP server to end a 100-continue response ; immediately after receiving the HTTP header. The client ; (Chilkat) will receive this intermediate response, and if ; it's not an error response, it knows that the HTTP server will ; accept the data that is forthcoming. ; The alternative is to get an error response after trying to upload ; the entire contents of the files. $oReq.AddHeader "Expect","100-continue" ; Call AddFileForUpload2 for each file to be uploaded in the HTTP multipart/form-data POST ; To allow Chilkat to determine the content-type automatically based on file-extension, ; call AddFileForUpload instead. ; The 1st arg is the filename passed in the HTTP request. ; The 2nd arg is the path in the local filesytem. ; The file is not loaded into memory. It is streamed directly from the file ; when the HTTP POST is sent. Local $bSuccess = $oReq.AddFileForUpload2("starfish.jpg","c:/qa_data/starfish.jpg","image/jpg") If ($bSuccess <> True) Then ConsoleWrite($oReq.LastErrorText & @CRLF) Exit EndIf $bSuccess = $oReq.AddFileForUpload("something.pdf","c:/qa_data/something.pdf") If ($bSuccess <> True) Then ConsoleWrite($oReq.LastErrorText & @CRLF) Exit EndIf ; Its also possible to add a file from a string: $bSuccess = $oReq.AddStringForUpload("test.xml","test.xml","<abc>This is the test.xml content</abc>","utf-8") ; We'll assume success since no files are involved.. ; This sends the HTTP request (with 3 files being uploaded) to ; http://www.mywebserver123abc.com/rcvFormDataUpload.aspx Local $oResp $oResp = $oHttp.SynchronousRequest("www.mywebserver123abc.com",80,False,$oReq) If ($oHttp.LastMethodSuccess <> True) Then ConsoleWrite($oHttp.LastErrorText & @CRLF) Else ConsoleWrite("HTTP response status: " & $oResp.StatusCode & @CRLF) ; See the online reference documentation for ; other information that can be obtained from the response object. EndIf ; To send using SSL/TLS, do this instead. ; This sends to https://www.mywebserver123abc.com/rcvFormDataUpload.aspx $oResp = $oHttp.SynchronousRequest("www.mywebserver123abc.com",443,True,$oReq) If ($oHttp.LastMethodSuccess <> True) Then ConsoleWrite($oHttp.LastErrorText & @CRLF) Else ConsoleWrite("HTTP response status: " & $oResp.StatusCode & @CRLF) ; See the online reference documentation for ; other information that can be obtained from the response object. EndIf |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.