@@ -244,6 +244,24 @@ public function temporaryUrl(string $filename = null, $sizes = [], $expirationTi
244244 return $ urls ;
245245 }
246246
247+ public function blob (string $ filename , $ size = null )
248+ {
249+ $ output = null ;
250+
251+ if (empty ($ size ) || $ size === 'original ' ) {
252+ $ output = $ this ->typeConfig ->get ('original ' )['path ' ] . '/ ' . $ filename ;
253+ } else {
254+ $ configSizes = $ this ->typeConfig ->get ('sizes ' );
255+
256+ if (isset ($ configSizes [$ size ])) {
257+ $ filename = pathinfo ($ filename );
258+ $ output = $ this ->output ($ filename , $ size , $ configSizes [$ size ]);
259+ }
260+ }
261+
262+ return $ output ;
263+ }
264+
247265 public function defaultUrl ($ sizes = [])
248266 {
249267 $ urls = [];
@@ -270,16 +288,10 @@ public function defaultUrl($sizes = [])
270288
271289 protected function imageUrl ($ filename , $ size , $ dimensions )
272290 {
273- if ($ dimensions ['extension ' ] === null ) $ dimensions ['extension ' ] = $ filename ['extension ' ];
274-
275- $ fileSuffix = NULL ;
276- if ($ this ->baseFileSuffix ) {
277- $ fileSuffix = "- {$ dimensions ['width ' ]}x {$ dimensions ['height ' ]}" ;
278- }
279-
280- $ output = $ this ->typeConfig ->get ('base ' )['path ' ]."/ {$ size }/ {$ filename ['filename ' ]}{$ fileSuffix }. {$ dimensions ['extension ' ]}" ;
291+ $ output = $ this ->output ($ filename , $ size , $ dimensions );
281292
282293 $ storage = Storage::disk ($ this ->baseFileDisk );
294+
283295 if ($ this ->baseDiskConfig ['driver ' ] === 'local ' || empty ($ this ->typeConfig ->get ('base ' )['private ' ])) {
284296 return $ storage ->url ($ output );
285297 } else {
@@ -288,15 +300,24 @@ protected function imageUrl($filename, $size, $dimensions)
288300 }
289301
290302 protected function temporaryImageUrl ($ filename , $ size , $ dimensions )
303+ {
304+ $ output = $ this ->output ($ filename , $ size , $ dimensions );
305+
306+ return Storage::disk ($ this ->baseFileDisk )->temporaryUrl ($ output , Carbon::now ()->addMinutes ($ this ->expirationTime ));
307+ }
308+
309+ protected function output ($ filename , $ size , $ dimensions )
291310 {
292311 if ($ dimensions ['extension ' ] === null ) $ dimensions ['extension ' ] = $ filename ['extension ' ];
293312
294313 $ fileSuffix = NULL ;
314+
295315 if ($ this ->baseFileSuffix ) {
296316 $ fileSuffix = "- {$ dimensions ['width ' ]}x {$ dimensions ['height ' ]}" ;
297317 }
298318
299319 $ output = $ this ->typeConfig ->get ('base ' )['path ' ]."/ {$ size }/ {$ filename ['filename ' ]}{$ fileSuffix }. {$ dimensions ['extension ' ]}" ;
300- return Storage::disk ($ this ->baseFileDisk )->temporaryUrl ($ output , Carbon::now ()->addMinutes ($ this ->expirationTime ));
320+
321+ return $ output ;
301322 }
302323}
0 commit comments