/
var
/
www
/
html
/
cravings
/
app
/
Http
/
Services
/
Upload File
HOME
<?php namespace App\Http\Services; use App\Jobs\ProcessImage; use Illuminate\Http\Request; use Illuminate\Http\UploadedFile; class PostImageUploader{ public static function upload(Request $request, $place_slug) { $files = $request->file('image'); $files = $files && !is_array($files) ? [$files] : $files; $images = $toProcess = []; $accepted = ["jpeg", "png", "jpg"]; if($files && count($files)){ $imagePath = "/places/images/"; foreach ($files as $i => $file) { // if(in_array($file->guessExtension(), $accepted)){ $filename = uniqid() . ".jpg"; // store file locally $path = $file->storeAs($imagePath, $filename); $toProcess[$i] = []; $toProcess[$i]['file'] = storage_path('app/public/places/images/' . $filename); $toProcess[$i]['slug'] = $place_slug; $toProcess[$i]['url'] = $imagePath . $filename; $images[] = env('S3_BASE_URL') . $imagePath . $filename; // } } ProcessImage::dispatch($toProcess); } return $images; } }