From 502f53c9701da3b8da2caef1eb54df25b7d2d86a Mon Sep 17 00:00:00 2001 From: Yassine Doghri Date: Fri, 14 Apr 2023 09:33:52 +0000 Subject: [PATCH] fix(s3): serve files using media base url to allow for CDN setup --- modules/Media/FileManagers/FS.php | 9 +------- modules/Media/FileManagers/S3.php | 2 +- modules/Media/Helpers/url_helper.php | 31 ++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 9 deletions(-) create mode 100644 modules/Media/Helpers/url_helper.php diff --git a/modules/Media/FileManagers/FS.php b/modules/Media/FileManagers/FS.php index 63c1f707..ad8602fc 100644 --- a/modules/Media/FileManagers/FS.php +++ b/modules/Media/FileManagers/FS.php @@ -57,14 +57,7 @@ class FS implements FileManagerInterface public function getUrl(string $key): string { - $appConfig = config('App'); - $mediaBaseUrl = $this->config->baseURL === '' ? $appConfig->baseURL : $this->config->baseURL; - - return rtrim((string) $mediaBaseUrl, '/') . - '/' . - $this->config->root . - '/' . - $key; + return media_url($this->config->root . '/' . $key); } public function rename(string $oldKey, string $newKey): bool diff --git a/modules/Media/FileManagers/S3.php b/modules/Media/FileManagers/S3.php index fe5b5e3d..a01b7120 100644 --- a/modules/Media/FileManagers/S3.php +++ b/modules/Media/FileManagers/S3.php @@ -64,7 +64,7 @@ class S3 implements FileManagerInterface public function getUrl(string $key): string { - return url_to('media-serve', $key); + return media_url((string) route_to('media-serve', $key)); } public function rename(string $oldKey, string $newKey): bool diff --git a/modules/Media/Helpers/url_helper.php b/modules/Media/Helpers/url_helper.php new file mode 100644 index 00000000..a3e3c9a3 --- /dev/null +++ b/modules/Media/Helpers/url_helper.php @@ -0,0 +1,31 @@ +baseURL, '/') . '/' . ltrim($relativePath)); + + return URI::createURIString( + $scheme ?? $uri->getScheme(), + $uri->getAuthority(), + $uri->getPath(), + $uri->getQuery(), + $uri->getFragment() + ); + } +}