diff --git a/forms/multipart-s3/Cargo.toml b/forms/multipart-s3/Cargo.toml index e38d05d3..b9ee697b 100644 --- a/forms/multipart-s3/Cargo.toml +++ b/forms/multipart-s3/Cargo.toml @@ -2,18 +2,17 @@ name = "multipart-s3" version = "0.1.0" authors = ["cheolgyu <38715510+cheolgyu@users.noreply.github.com>"] -edition = "2018" +edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -actix-web = "3" -actix-multipart = "0.3" +actix-web = "4.0.0-beta.21" +actix-multipart = "0.4.0-beta.12" futures = "0.3.1" -rusoto_s3 = "0.43.0" -rusoto_core = "0.43.0" -bytes = { version = "0.5", features = ["serde"] } +rusoto_s3 = "0.47.0" +rusoto_core = "0.47.0" serde = { version = "1.0.104", features = ["derive"] } serde_json = "1.0" dotenv = "0.15.0" -sanitize-filename = "0.2" +sanitize-filename = "0.3" diff --git a/forms/multipart-s3/src/utils/upload.rs b/forms/multipart-s3/src/utils/upload.rs index e93db21d..a35e8ebc 100644 --- a/forms/multipart-s3/src/utils/upload.rs +++ b/forms/multipart-s3/src/utils/upload.rs @@ -1,7 +1,6 @@ use crate::utils::s3::Client; use actix_multipart::{Field, Multipart}; -use actix_web::{web, Error}; -use bytes::Bytes; +use actix_web::{web, web::Bytes, Error}; use futures::StreamExt; use serde::{Deserialize, Serialize}; use std::convert::From; @@ -63,13 +62,13 @@ impl Tmpfile { } } -pub async fn split_payload(payload: &mut Multipart) -> (bytes::Bytes, Vec) { +pub async fn split_payload(payload: &mut Multipart) -> (Bytes, Vec) { let mut tmp_files: Vec = Vec::new(); let mut data = Bytes::new(); while let Some(item) = payload.next().await { let mut field: Field = item.expect(" split_payload err"); - let content_type = field.content_disposition().unwrap(); + let content_type = field.content_disposition(); let name = content_type.get_name().unwrap(); if name == "data" { while let Some(chunk) = field.next().await { @@ -82,11 +81,13 @@ pub async fn split_payload(payload: &mut Multipart) -> (bytes::Bytes, Vec