Skip to content

Instantly share code, notes, and snippets.

@didikz
Created October 23, 2019 17:42
Show Gist options
  • Select an option

  • Save didikz/1bbf7903e6a2b993b406fd0ebfbeed1c to your computer and use it in GitHub Desktop.

Select an option

Save didikz/1bbf7903e6a2b993b406fd0ebfbeed1c to your computer and use it in GitHub Desktop.
snippet upload image to Google Cloud Storage using laravel & intervention
<?php
public function store(Request $request)
{
try {
$watermark = storage_path('app'.DIRECTORY_SEPARATOR.'watermark.png');
$thumbnailName = 'thumb_'.sha1(date('Y-m-d H:i:s').uniqid()).'.png';
$originName = 'img_'.sha1(date('Y-m-d H:i:s').uniqid()).'.png';
$thumbnailUrl = storage_path('app'.DIRECTORY_SEPARATOR.'public'.DIRECTORY_SEPARATOR.'imagerepositories'.DIRECTORY_SEPARATOR.$thumbnailName);
$originUrl = storage_path('app'.DIRECTORY_SEPARATOR.'public'.DIRECTORY_SEPARATOR.'imagerepositories'.DIRECTORY_SEPARATOR.$originName);
$thumbnail = Image::make($request->file('image')->getRealPath())->fit(300)->save($thumbnailUrl);
$originiWatermarked = Image::make($request->file('image')->getRealPath())->insert($watermark, 'center')->save($originUrl);
$disk = Storage::disk('gcs');
$disk->put($thumbnailName, file_get_contents($thumbnailUrl));
$disk->put($originName, file_get_contents($originUrl));
ImageModel::create(['caption' => $request->caption, 'thumbnail_url' => $thumbnailName, 'url' => $originName]);
return redirect()->route('home');
} catch (\Exception $exception) {
dd($exception->getTraceAsString());
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment