diff --git a/src/server.rs b/src/server.rs index f7b30a3..d26d070 100644 --- a/src/server.rs +++ b/src/server.rs @@ -739,6 +739,15 @@ async fn upload_file( filename = field.file_name().unwrap_or("upload.bin").to_string(); let file_path = format!("{}/{}", user_dir, filename); + // Create user directory if not exists + if let Err(e) = tokio::fs::create_dir_all(&user_dir).await { + return ( + StatusCode::INTERNAL_SERVER_ERROR, + Json(serde_json::json!({"error": format!("create_dir error: {}", e)})), + ) + .into_response(); + } + let mut hasher = Sha256::new(); let mut total_written: u64 = 0;