Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(Excel) 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. Dim http As Chilkat.Http Set http = Chilkat.NewHttp Dim req As Chilkat.HttpRequest Set req = Chilkat.NewHttpRequest req.HttpVerb = "POST" req.ContentType = "multipart/form-data" req.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. req.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. success = req.AddFileForUpload2("starfish.jpg","c:/qa_data/starfish.jpg","image/jpg") If (success <> True) Then Debug.Print req.LastErrorText Exit Sub End If success = req.AddFileForUpload("something.pdf","c:/qa_data/something.pdf") If (success <> True) Then Debug.Print req.LastErrorText Exit Sub End If ' Its also possible to add a file from a string: success = req.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 Set resp = http.SynchronousRequest("www.mywebserver123abc.com",80,False,req) If (http.LastMethodSuccess <> True) Then Debug.Print http.LastErrorText Else Debug.Print "HTTP response status: "; resp.StatusCode ' See the online reference documentation for ' other information that can be obtained from the response object. End If ' To send using SSL/TLS, do this instead. ' This sends to https://www.mywebserver123abc.com/rcvFormDataUpload.aspx Set resp = http.SynchronousRequest("www.mywebserver123abc.com",443,True,req) If (http.LastMethodSuccess <> True) Then Debug.Print http.LastErrorText Else Debug.Print "HTTP response status: "; resp.StatusCode ' See the online reference documentation for ' other information that can be obtained from the response object. End If |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.