1
0
mirror of https://github.com/actix/examples synced 2025-06-29 02:10:36 +02:00

Sanitize filename

This commit is contained in:
Yuki Okushi
2020-05-19 13:48:49 +09:00
parent bc6f614f78
commit 7823473f8d
6 changed files with 6 additions and 3 deletions

View File

@ -9,7 +9,7 @@ async fn save_file(mut payload: Multipart) -> Result<HttpResponse, Error> {
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);
let filepath = format!("./tmp/{}", sanitize_filename::sanitize(&filename));
// File::create is blocking operation, use threadpool
let mut f = web::block(|| std::fs::File::create(filepath))
.await