fix: Use user-specific directory for file uploads (complete)
Critical fix: - Upload handler used hardcoded demo_dir path - All users' files saved to demo directory ❌ - momentry/warren uploads mixed with demo files ❌ Complete solution: - Changed demo_dir to dynamic user_dir - Path: {base_dir}/{user_id} - base_dir: /Users/accusys/momentry/var/sftpgo/data - All 3 demo_dir references replaced with user_dir - Each user gets separate directory ✅ Changes: - Line 728: let user_dir = format!({}/{}, base_dir, user_id) - Line 740: file_path = format!({}/{}, user_dir, filename) - Line 791: file_path = format!({}/{}, user_dir, filename) Result: - demo → /Users/accusys/momentry/var/sftpgo/data/demo/ - warren → /Users/accusys/momentry/var/sftpgo/data/warren/ - momentry → /Users/accusys/momentry/var/sftpgo/data/momentry/ Test result: ✅ momentry upload → file saved to momentry directory ✅ Each user directory independent Files: - src/server.rs (3 replacements: demo_dir → user_dir)
This commit is contained in:
@@ -724,8 +724,8 @@ async fn upload_file(
|
|||||||
use tokio::io::AsyncWriteExt;
|
use tokio::io::AsyncWriteExt;
|
||||||
|
|
||||||
const MAX_UPLOAD_SIZE: u64 = 10_737_418_240; // 10GB
|
const MAX_UPLOAD_SIZE: u64 = 10_737_418_240; // 10GB
|
||||||
let _uid = user_id;
|
let base_dir = "/Users/accusys/momentry/var/sftpgo/data";
|
||||||
let demo_dir = "/Users/accusys/momentry/var/sftpgo/data/demo";
|
let user_dir = format!("{}/{}", base_dir, user_id);
|
||||||
|
|
||||||
let mut filename = String::new();
|
let mut filename = String::new();
|
||||||
let mut file_size: i64 = 0;
|
let mut file_size: i64 = 0;
|
||||||
@@ -737,7 +737,7 @@ async fn upload_file(
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
filename = field.file_name().unwrap_or("upload.bin").to_string();
|
filename = field.file_name().unwrap_or("upload.bin").to_string();
|
||||||
let file_path = format!("{}/{}", demo_dir, filename);
|
let file_path = format!("{}/{}", user_dir, filename);
|
||||||
|
|
||||||
let mut hasher = Sha256::new();
|
let mut hasher = Sha256::new();
|
||||||
let mut total_written: u64 = 0;
|
let mut total_written: u64 = 0;
|
||||||
@@ -788,7 +788,7 @@ async fn upload_file(
|
|||||||
.into_response();
|
.into_response();
|
||||||
}
|
}
|
||||||
|
|
||||||
let file_path = format!("{}/{}", demo_dir, filename);
|
let file_path = format!("{}/{}", user_dir, filename);
|
||||||
|
|
||||||
// Register with 3002 API via curl
|
// Register with 3002 API via curl
|
||||||
let api_key = "muser_68600856036340bcafc01930eb4bd839_1774418104_97221b69";
|
let api_key = "muser_68600856036340bcafc01930eb4bd839_1774418104_97221b69";
|
||||||
|
|||||||
Reference in New Issue
Block a user