From c44314def3f84e449c92357d178599bb474706ae Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Sun, 10 Jul 2016 10:28:05 +0100 Subject: [PATCH] Added check for s3 bucket name to choose shortest url --- app/Services/ImageService.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/Services/ImageService.php b/app/Services/ImageService.php index f645a06a5..c10e989f9 100644 --- a/app/Services/ImageService.php +++ b/app/Services/ImageService.php @@ -259,9 +259,15 @@ class ImageService $storageUrl = config('filesystems.url'); // Get the standard public s3 url if s3 is set as storage type + // Uses the nice, short URL if bucket name has no periods in otherwise the longer + // region-based url will be used to prevent http issues. if ($storageUrl == false && config('filesystems.default') === 's3') { $storageDetails = config('filesystems.disks.s3'); - $storageUrl = 'https://' . $storageDetails['bucket'] . '.s3.amazonaws.com'; + if (strpos($storageDetails['bucket'], '.') === false) { + $storageUrl = 'https://' . $storageDetails['bucket'] . '.s3.amazonaws.com'; + } else { + $storageUrl = 'https://s3-' . $storageDetails['region'] . '.amazonaws.com/' . $storageDetails['bucket']; + } } $this->storageUrl = $storageUrl;