mirror of https://github.com/fafhrd91/actix-web
Merge d32f48ffa5
into cede0c6dbb
This commit is contained in:
commit
218f3d9dd0
|
@ -24,9 +24,10 @@ Due to additional requirements for `multipart/form-data` requests, the higher le
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
```rust
|
```rust
|
||||||
use actix_web::{post, App, HttpServer, Responder};
|
use actix_multipart::form::{
|
||||||
|
json::Json as MpJson, tempfile::TempFile, MultipartForm, MultipartFormConfig,
|
||||||
use actix_multipart::form::{json::Json as MpJson, tempfile::TempFile, MultipartForm};
|
};
|
||||||
|
use actix_web::{middleware::Logger, post, App, HttpServer, Responder};
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
|
|
||||||
#[derive(Debug, Deserialize)]
|
#[derive(Debug, Deserialize)]
|
||||||
|
@ -42,19 +43,29 @@ struct UploadForm {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[post("/videos")]
|
#[post("/videos")]
|
||||||
pub async fn post_video(MultipartForm(form): MultipartForm<UploadForm>) -> impl Responder {
|
async fn post_video(MultipartForm(form): MultipartForm<UploadForm>) -> impl Responder {
|
||||||
format!(
|
format!(
|
||||||
"Uploaded file {}, with size: {}",
|
"Uploaded file {}, with size: {}\ntemporary file ({}) was deleted\n",
|
||||||
form.json.name, form.file.size
|
form.json.name,
|
||||||
|
form.file.size,
|
||||||
|
form.file.file.path().display(),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[actix_web::main]
|
#[actix_web::main]
|
||||||
async fn main() -> std::io::Result<()> {
|
async fn main() -> std::io::Result<()> {
|
||||||
HttpServer::new(move || App::new().service(post_video))
|
env_logger::init_from_env(env_logger::Env::new().default_filter_or("info"));
|
||||||
.bind(("127.0.0.1", 8080))?
|
|
||||||
.run()
|
HttpServer::new(move || {
|
||||||
.await
|
App::new()
|
||||||
|
.service(post_video)
|
||||||
|
.wrap(Logger::default())
|
||||||
|
.app_data(MultipartFormConfig::default().total_limit(100 * 1024 * 1024))
|
||||||
|
})
|
||||||
|
.workers(2)
|
||||||
|
.bind(("127.0.0.1", 8080))?
|
||||||
|
.run()
|
||||||
|
.await
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
use actix_multipart::form::{json::Json as MpJson, tempfile::TempFile, MultipartForm};
|
use actix_multipart::form::{
|
||||||
|
json::Json as MpJson, tempfile::TempFile, MultipartForm, MultipartFormConfig,
|
||||||
|
};
|
||||||
use actix_web::{middleware::Logger, post, App, HttpServer, Responder};
|
use actix_web::{middleware::Logger, post, App, HttpServer, Responder};
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
|
|
||||||
|
@ -28,9 +30,14 @@ async fn post_video(MultipartForm(form): MultipartForm<UploadForm>) -> impl Resp
|
||||||
async fn main() -> std::io::Result<()> {
|
async fn main() -> std::io::Result<()> {
|
||||||
env_logger::init_from_env(env_logger::Env::new().default_filter_or("info"));
|
env_logger::init_from_env(env_logger::Env::new().default_filter_or("info"));
|
||||||
|
|
||||||
HttpServer::new(move || App::new().service(post_video).wrap(Logger::default()))
|
HttpServer::new(move || {
|
||||||
.workers(2)
|
App::new()
|
||||||
.bind(("127.0.0.1", 8080))?
|
.service(post_video)
|
||||||
.run()
|
.wrap(Logger::default())
|
||||||
.await
|
.app_data(MultipartFormConfig::default().total_limit(100 * 1024 * 1024))
|
||||||
|
})
|
||||||
|
.workers(2)
|
||||||
|
.bind(("127.0.0.1", 8080))?
|
||||||
|
.run()
|
||||||
|
.await
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue