diff --git a/multipart-async-std/src/main.rs b/multipart-async-std/src/main.rs index 1c392d37..9e42f54b 100644 --- a/multipart-async-std/src/main.rs +++ b/multipart-async-std/src/main.rs @@ -1,12 +1,11 @@ use actix_multipart::Multipart; use actix_web::{middleware, web, App, Error, HttpResponse, HttpServer}; use async_std::prelude::*; -use futures::StreamExt; +use futures::{StreamExt, TryStreamExt}; async fn save_file(mut payload: Multipart) -> Result { // iterate over multipart stream - while let Some(item) = payload.next().await { - let mut field = item?; + while let Ok(Some(mut field)) = payload.try_next().await { let content_type = field .content_disposition() .ok_or_else(|| actix_web::error::ParseError::Incomplete)?; diff --git a/multipart/src/main.rs b/multipart/src/main.rs index 54db9233..9d604abf 100644 --- a/multipart/src/main.rs +++ b/multipart/src/main.rs @@ -2,12 +2,11 @@ use std::io::Write; use actix_multipart::Multipart; use actix_web::{middleware, web, App, Error, HttpResponse, HttpServer}; -use futures::StreamExt; +use futures::{StreamExt, TryStreamExt}; async fn save_file(mut payload: Multipart) -> Result { // iterate over multipart stream - while let Some(item) = payload.next().await { - let mut field = item?; + while let Ok(Some(mut field)) = payload.try_next().await { let content_type = field.content_disposition().unwrap(); let filename = content_type.get_filename().unwrap(); let filepath = format!("./tmp/{}", filename);