Sample code for 30+ languages & platforms
Rust

REST File Upload (multipart/form-data)

See more REST Examples

Demonstrates how to upload a file using multipart/form-data.

Chilkat Rust Downloads

Rust

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

let rest = chilkat::Rest::new();

// Connect to the HTTP server using TLS.
let b_tls = true;
let port = 443;
let b_auto_reconnect = true;
// Make sure to replace "www.chilkatsoft.com" with your domain..
if rest.connect("www.chilkatsoft.com", port, b_tls, b_auto_reconnect).is_err() {
    println!("{}", rest.last_error_text());
    return;
}

let file_stream = chilkat::Stream::new();
file_stream.set_source_file("qa_data/jpg/starfish.jpg");

let _ = rest.add_header("Content-Type", "multipart/form-data");

rest.set_part_selector("1");
let _ = rest.add_header("Content-Type", "image/jpg");
let _ = rest.add_header("Content-Disposition", "form-data; name=\"filename\"; filename=\"starfish.jpg\"");
let _ = rest.set_multipart_body_stream(&file_stream);
rest.set_part_selector("0");

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

if rest.response_status_code() != 200 {
    println!("Received error response code: {}", rest.response_status_code());
    return;
}

println!("File uploaded");