3个版本 (1个稳定版)

3.0.0 2022年11月5日
0.2.0 2022年4月29日
0.1.0 2022年1月14日

#27 in #multipart-form

Download history 180/week @ 2024-03-13 238/week @ 2024-03-20 163/week @ 2024-03-27 183/week @ 2024-04-03 275/week @ 2024-04-10 181/week @ 2024-04-17 522/week @ 2024-04-24 189/week @ 2024-05-01 100/week @ 2024-05-08 167/week @ 2024-05-15 107/week @ 2024-05-22 164/week @ 2024-05-29 136/week @ 2024-06-05 246/week @ 2024-06-12 148/week @ 2024-06-19 124/week @ 2024-06-26

每月下载量 665次
2 crates 中使用

LGPL-3.0

8KB
148

Actix Easy Multipart

Build status crates.io docs.rs

actix-web 提供的强类型多部分表单提取器。

⚠ 弃用通知

此功能现已合并到官方 actix-multipart crate 中(自版本 0.6.0 起效)。

请使用 actix-multipart 模块,有关文档请参阅 此处

此仓库将不再维护。

示例

use actix_web::Responder;
use actix_easy_multipart::tempfile::Tempfile;
use actix_easy_multipart::text::Text;
use actix_easy_multipart::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())
}

功能

  • 接收可选字段,使用 Option
  • 接收 字段列表,使用 Vec<T>
  • 使用 Text<T> 从纯文本字段反序列化整数、浮点数和枚举。
  • 使用 Json<T> 从JSON上传反序列化复杂数据。
  • 使用 Tempfile 将文件上传接收到的文件保存到磁盘上的临时文件中。
  • 用户可自定义的异步字段读取器,例如,您可能希望将表单数据流式传输到对象存储服务,只需实现 FieldReader 特性。

版本和兼容性

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

另请参阅

依赖项

~2MB
~42K SLoC