Как сохранить составное поле actix в s3, используя rusoto_s3?
Я совершенно новый для ржавчины, но учусь. Я пытаюсь выполнить многоэтапную загрузку с помощью actix_web и actix_multipart и загрузить ее в aws s3 с помощью rusoto_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();
}
Спасибо за помощь!