From 84b5852aad17961dfa2cb6ea3351b9fa3244fe6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vojt=C4=9Bch=20Pej=C5=A1a?= Date: Thu, 28 Mar 2019 11:29:56 +0100 Subject: Fix file upload when used with random route. --- src/file_upload.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/file_upload.rs') diff --git a/src/file_upload.rs b/src/file_upload.rs index 9f87724..98e3680 100644 --- a/src/file_upload.rs +++ b/src/file_upload.rs @@ -1,6 +1,6 @@ use actix_web::{ dev, error, - http::header::{ContentDisposition, LOCATION}, + http::header::{ContentDisposition, LOCATION, REFERER}, multipart, Error, FromRequest, FutureResponse, HttpMessage, HttpRequest, HttpResponse, Query, }; use futures::{future, Future, Stream}; @@ -99,6 +99,7 @@ pub fn upload_file(req: &HttpRequest) -> FutureResponse< )) } }; + let return_path = req.headers()[REFERER].clone(); // if target path is under app root directory save file let target_dir = match &app_root_dir.clone().join(path.clone()).canonicalize() { @@ -112,9 +113,10 @@ pub fn upload_file(req: &HttpRequest) -> FutureResponse< .map(move |item| handle_multipart(item, target_dir.clone(), override_files)) .flatten() .collect() + //.map(|s| HttpResponse::Ok().json(s)) .map(move |_| { HttpResponse::TemporaryRedirect() - .header(LOCATION, format!("{}", path.display())) + .header(LOCATION, format!("{}", return_path.to_str().unwrap_or("/"))) .finish() }) .map_err(|e| e), -- cgit v1.2.3