Sample code for 30+ languages & platforms
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

Lua
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)