Add environmental variable to control path of media (#683)
This commit is contained in:
@@ -239,6 +239,7 @@ Then try to restart Plume
|
||||
routes::theme_files,
|
||||
routes::plume_static_files,
|
||||
routes::static_files,
|
||||
routes::plume_media_files,
|
||||
routes::tags::tag,
|
||||
routes::timelines::details,
|
||||
routes::timelines::new,
|
||||
|
||||
@@ -3,7 +3,7 @@ use multipart::server::{
|
||||
save::{SaveResult, SavedData},
|
||||
Multipart,
|
||||
};
|
||||
use plume_models::{db_conn::DbConn, medias::*, users::User, Error, PlumeRocket};
|
||||
use plume_models::{db_conn::DbConn, medias::*, users::User, Error, PlumeRocket, CONFIG};
|
||||
use rocket::{
|
||||
http::ContentType,
|
||||
response::{status, Flash, Redirect},
|
||||
@@ -72,7 +72,12 @@ pub fn upload(
|
||||
.map(|ext| format!(".{}", ext))
|
||||
})
|
||||
.unwrap_or_default();
|
||||
let dest = format!("static/media/{}{}", GUID::rand().to_string(), ext);
|
||||
let dest = format!(
|
||||
"{}/{}{}",
|
||||
CONFIG.media_directory,
|
||||
GUID::rand().to_string(),
|
||||
ext
|
||||
);
|
||||
|
||||
match fields["file"][0].data {
|
||||
SavedData::Bytes(ref bytes) => fs::write(&dest, bytes)
|
||||
|
||||
+10
-3
@@ -17,8 +17,7 @@ use std::{
|
||||
};
|
||||
use template_utils::Ructe;
|
||||
|
||||
use plume_models::{posts::Post, Connection};
|
||||
|
||||
use plume_models::{posts::Post, Connection, CONFIG};
|
||||
const ITEMS_PER_PAGE: i32 = 12;
|
||||
|
||||
/// Special return type used for routes that "cannot fail", and instead
|
||||
@@ -212,7 +211,15 @@ pub fn theme_files(file: PathBuf, _build_id: &RawStr) -> Option<ThemeFile> {
|
||||
pub fn plume_static_files(file: PathBuf, _build_id: &RawStr) -> Option<CachedFile> {
|
||||
static_files(file)
|
||||
}
|
||||
|
||||
#[get("/static/media/<file..>")]
|
||||
pub fn plume_media_files(file: PathBuf) -> Option<CachedFile> {
|
||||
NamedFile::open(Path::new(&CONFIG.media_directory).join(file))
|
||||
.ok()
|
||||
.map(|f| CachedFile {
|
||||
inner: f,
|
||||
cache_control: CacheControl(vec![CacheDirective::MaxAge(60 * 60 * 24 * 30)]),
|
||||
})
|
||||
}
|
||||
#[get("/static/<file..>", rank = 3)]
|
||||
pub fn static_files(file: PathBuf) -> Option<CachedFile> {
|
||||
NamedFile::open(Path::new("static/").join(file))
|
||||
|
||||
Reference in New Issue
Block a user