]> BookStack Code Mirror - bookstack/blobdiff - app/Services/ImageService.php
shorter amazon S3 url
[bookstack] / app / Services / ImageService.php
index aefc8a4fb4920d977b02136fc8045555cb902677..331a407c3daf2a24d658c0c751b38d6cfd6065b2 100644 (file)
@@ -41,14 +41,16 @@ class ImageService
     /**
      * Saves a new image from an upload.
      * @param UploadedFile $uploadedFile
-     * @param  string      $type
+     * @param  string $type
+     * @param int $uploadedTo
      * @return mixed
+     * @throws ImageUploadException
      */
-    public function saveNewFromUpload(UploadedFile $uploadedFile, $type)
+    public function saveNewFromUpload(UploadedFile $uploadedFile, $type, $uploadedTo = 0)
     {
         $imageName = $uploadedFile->getClientOriginalName();
         $imageData = file_get_contents($uploadedFile->getRealPath());
-        return $this->saveNew($imageName, $imageData, $type);
+        return $this->saveNew($imageName, $imageData, $type, $uploadedTo);
     }
 
 
@@ -73,10 +75,11 @@ class ImageService
      * @param string $imageName
      * @param string $imageData
      * @param string $type
+     * @param int $uploadedTo
      * @return Image
      * @throws ImageUploadException
      */
-    private function saveNew($imageName, $imageData, $type)
+    private function saveNew($imageName, $imageData, $type, $uploadedTo = 0)
     {
         $storage = $this->getStorage();
         $secureUploads = setting('app-secure-images');
@@ -100,7 +103,8 @@ class ImageService
             'name'       => $imageName,
             'path'       => $fullPath,
             'url'        => $this->getPublicUrl($fullPath),
-            'type'       => $type
+            'type'       => $type,
+            'uploaded_to' => $uploadedTo
         ];
 
         if (auth()->user() && auth()->user()->id !== 0) {
@@ -255,7 +259,7 @@ class ImageService
             // Get the standard public s3 url if s3 is set as storage type
             if ($storageUrl == false && config('filesystems.default') === 's3') {
                 $storageDetails = config('filesystems.disks.s3');
-                $storageUrl = 'https://s3-' . $storageDetails['region'] . '.amazonaws.com/' . $storageDetails['bucket'];
+                $storageUrl = 'https://' . $storageDetails['bucket'] . '.s3.amazonaws.com';
             }
 
             $this->storageUrl = $storageUrl;
@@ -265,4 +269,4 @@ class ImageService
     }
 
 
-}
\ No newline at end of file
+}