TIL # 60
1405-04-21 03:16
محدودیت حجمی Axum توی راست
ببین الان اومدم اپلود کنم ولی بیشتر از 2 مگ اجازه نداد حالا من خودم ست کرده بودم 50 مگ بشه ولی نمیذاشت نگو Axum و وب سرورش ینی Hyper بخاطر اینکه جلوی حملات Denial of Service رو بگیره ینی ارسال فایل حجم بالا چند گیگی تا مادر بگرید، پیش فرض کرده 2 مگ و خب وردپرسم نیس هر منشی دکتری با یه پلاگین بیاد زیادش کنه اما خب راهش اینه
use axum::{
routing::{post, get},
Router,
extract::DefaultBodyLimit, // اضافه کردن برای مدیریت حجم بدنه درخواست
};
let upload_route = Router::new()
.route("/upload", post(handlers::upload::upload))
.layer(DefaultBodyLimit::disable())
.layer(DefaultBodyLimit::max(50 * 1024 * 1024));این الان شد 50 مگ
اگرم توی env خواستید ست کنید اینجوری میشه
use std::env;
let max_upload_size_mb: usize = env::var("MAX_UPLOAD_SIZE")
.unwrap_or_else(|_| "50".to_string())
.parse()
.unwrap_or(50);
let max_upload_size_bytes = max_upload_size_mb * 1024 * 1024;
let upload_route = Router::new()
.route("/upload", post(handlers::upload::upload))
.layer(DefaultBodyLimit::disable())
.layer(DefaultBodyLimit::max(max_upload_size_bytes));