我对 rust 完全陌生,但正在学习。我正在尝试使用 actix_web 和 actix_multipart 进行分段上传,并使用 rusoto_s3 将其上传到 aws s3。从我的基本理解来看,基本上我有一个类型的流,我需要将其转换为ByteStream
所需的类型put_object PutObjectRequest { body }
。
我想我需要在现场使用地图将其从一种类型转换为另一种类型,但我有点迷茫。
例如,沿着这些思路?
pub fn save_file_s3(field: Field, s3_client: &S3Client) {
let bucket = env::var("S3_BUCKET").expect("S3 bucket must be set.");
let item = field.map();
s3_client.put_object(PutObjectRequest {
bucket: bucket,
body: item,
..Default::default()
}).into_stream();
}
谢谢您的帮助!