Rust
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
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);