8 releases (5 stable)
| 3.0.0 | Nov 5, 2022 |
|---|---|
| 2.1.1 | Apr 30, 2022 |
| 2.0.0 | Mar 28, 2022 |
| 2.0.0-beta.1 | Jan 27, 2022 |
| 0.1.1 | Jan 15, 2022 |
#912 in HTTP server
831 downloads per month
Used in serv4rs
55KB
1K
SLoC
Actix Easy Multipart
Typed multipart form extractor for actix-web.
Example
use actix_web::Responder;
use actix_easy_multipart::{File, FromMultipart};
use actix_easy_multipart::extractor::MultipartForm;
#[derive(MultipartForm)]
struct Upload {
description: Option<Text<String>>,
timestamp: Text<i64>,
#[multipart(rename="image_set[]")
image_set: Vec<Tempfile>,
}
async fn route(form: MultipartForm<Upload>) -> impl Responder {
format!("Received 5 images: {}", form.image_set.len())
}
Features
- Receiving optional fields, using
Option. - Receiving lists of fields, using
Vec<T>. - Deserialize integers, floats, enums from plain text fields using
Text<T>. - Deserialize complex data from JSON uploads, using
Json<T>. - Receive file uploads into temporary files on disk, using
Tempfile. - User customisable asynchronous field readers, for example you may want to stream form data to an object storage
service, just implement the
FieldReadertrait.
Versions and Compatibility
| actix-easy-multipart | actix-web | tokio |
|---|---|---|
| 0.x | 2.x | 0.2 |
| 1.x | 3.x | 0.2 |
| 2.x | 4.x | 1 |
| 3.x | 4.x | 1 |
See Also
Dependencies
~17–30MB
~542K SLoC