Lua
Lua
Set a Multipart Part Body from BinData
See more REST Examples
Demonstrates Rest.SetMultipartBodyBd, which sets the binary body of the selected multipart part from a BinData.
The file paths are relative to the application's current working directory. Absolute paths may also be used. Supply the paths appropriate to your own environment.
Background. A multipart request is assembled part by part: the part selector chooses the part being built, header fields describe it, and a SetMultipartBody method supplies its content. The request is then sent with a multipart send or full-request method.
Chilkat Lua Downloads
local chilkat = require("chilkat")
local rest = chilkat.Rest.new()
local bTls = true
local bAutoReconnect = true
local success = rest:connect("example.com", 443, bTls, bAutoReconnect)
if not success then
print(rest.last_error_text)
return
end
-- The file paths are relative to the application's current working directory. Absolute paths
-- may also be used. Supply the paths appropriate to your own environment.
-- Select the multipart part to build, and set its header fields.
rest.part_selector = "1"
rest:add_header("Content-Disposition", "form-data; name=\"field1\"")
rest:add_header("Content-Type", "image/png")
-- Set the binary body of the selected part from a BinData.
local bdBody = chilkat.BinData.new()
local bLoaded = bdBody:load_file("qa_data/image.png")
if not bLoaded then
print("Failed to load the part body file.")
return
end
success = rest:set_multipart_body_bd(bdBody)
if not success then
print(rest.last_error_text)
return
end
local responseText = rest:full_request_multipart("POST", "/api/upload")
if not rest.last_method_success then
print(rest.last_error_text)
return
end
print(responseText)