Rust – Upload Files in Actix-web

This post is about uploading a file or multiple files to a running Actix-web application.


Modify the cargo.toml  as follows.

Server Codes

Use statements

Struct for File Namer

We need to define a struct  that implement the FilenameGenerator  trait.

Then, we implement the trait.

Note that we are using Uuid  to generate unique files names.

Upload Handler

Then, we implement a file upload handler function.

Main function

The main  function has the following codes.

When we run the codes, it writes the following output to the console.


Then, we test our codes using Postman.

Ensure to use form-data.

This is the HTTP response after clicking the Send button.

The files are uploaded to [current-project-dir]/uploaded-images directory.

Tested with Rust 1.37.0.

Karl San Gabriel

Karl San Gabriel

Professional Software Developer