Sample code for 30+ languages & platforms
Rust

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 Rust Downloads

Rust

let rest = chilkat::Rest::new();
let b_tls = true;
let b_auto_reconnect = true;
if rest.connect("example.com", 443, b_tls, b_auto_reconnect).is_err() {
    println!("{}", rest.last_error_text());
    return;
}

// 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.set_part_selector("1");
let _ = rest.add_header("Content-Disposition", "form-data; name=\"field1\"");
let _ = rest.add_header("Content-Type", "image/png");

// Set the binary body of the selected part from a BinData.
let bd_body = chilkat::BinData::new();
if bd_body.load_file("qa_data/image.png").is_err() {
    println!("Failed to load the part body file.");
    return;
}

if rest.set_multipart_body_bd(&bd_body).is_err() {
    println!("{}", rest.last_error_text());
    return;
}

let Ok(response_text) = rest.full_request_multipart("POST", "/api/upload") else {
    println!("{}", rest.last_error_text());
    return;
};

println!("{}", response_text);