parent::__construct($fileSystem);
}
+ /**
+ * Get the storage that will be used for storing images.
+ * @param string $type
+ * @return \Illuminate\Contracts\Filesystem\Filesystem
+ */
+ protected function getStorage($type = '')
+ {
+ $storageType = config('filesystems.default');
+
+ // Override default location if set to local public to ensure not visible.
+ if ($type === 'system' && $storageType === 'local_secure') {
+ $storageType = 'local';
+ }
+
+ return $this->fileSystem->disk($storageType);
+ }
+
/**
* Saves a new image from an upload.
* @param UploadedFile $uploadedFile
*/
private function saveNew($imageName, $imageData, $type, $uploadedTo = 0)
{
- $storage = $this->getStorage();
+ $storage = $this->getStorage($type);
$secureUploads = setting('app-secure-images');
$imageName = str_replace(' ', '-', $imageName);
* @param Image $image
* @return boolean
*/
- protected function isGif(Image $image) {
+ protected function isGif(Image $image)
+ {
return strtolower(pathinfo($this->getPath($image), PATHINFO_EXTENSION)) === 'gif';
}
return $this->getPublicUrl($thumbFilePath);
}
- $storage = $this->getStorage();
+ $storage = $this->getStorage($image->type);
if ($storage->exists($thumbFilePath)) {
return $this->getPublicUrl($thumbFilePath);
}
/**
* Save a gravatar image and set a the profile image for a user.
* @param User $user
- * @param int $size
+ * @param int $size
* @return mixed
+ * @throws Exception
*/
public function saveUserGravatar(User $user, $size = 500)
{