ok
Direktori : /home2/selectio/www/limpiar.in.net/updates/app/Http/Controllers/Api/V2/ |
Current File : //home2/selectio/www/limpiar.in.net/updates/app/Http/Controllers/Api/V2/FileController.php |
<?php namespace App\Http\Controllers\Api\V2; use App\Http\Resources\V2\UploadedFileCollection; use App\Models\Upload; use Illuminate\Http\Request; use Illuminate\Support\Facades\File; use Storage; class FileController extends Controller { public function index(){ $all_uploads = (auth()->user()->user_type == 'seller') ? Upload::where('user_id',auth()->user()->id) : Upload::query(); $all_uploads = $all_uploads->paginate(20)->appends(request()->query()); return new UploadedFileCollection($all_uploads); } // any base 64 image through uploader public function imageUpload(Request $request) { $type = array( "jpg" => "image", "jpeg" => "image", "png" => "image", "svg" => "image", "webp" => "image", "gif" => "image", ); try { $image = $request->image; $request->filename; $realImage = base64_decode($image); $dir = public_path('uploads/all'); $full_path = "$dir/$request->filename"; $file_put = file_put_contents($full_path, $realImage); // int or false if ($file_put == false) { return response()->json([ 'result' => false, 'message' => translate("File uploading error"), 'path' => "", 'upload_id' => 0 ]); } $upload = new Upload; $extension = strtolower(File::extension($full_path)); $size = File::size($full_path); if (!isset($type[$extension])) { unlink($full_path); return response()->json([ 'result' => false, 'message' => translate("Only image can be uploaded"), 'path' => "", 'upload_id' => 0 ]); } $upload->file_original_name = null; $arr = explode('.', File::name($full_path)); for ($i = 0; $i < count($arr) - 1; $i++) { if ($i == 0) { $upload->file_original_name .= $arr[$i]; } else { $upload->file_original_name .= "." . $arr[$i]; } } //unlink and upload again with new name unlink($full_path); $newFileName = rand(10000000000, 9999999999) . date("YmdHis") . "." . $extension; $newFullPath = "$dir/$newFileName"; $file_put = file_put_contents($newFullPath, $realImage); if ($file_put == false) { return response()->json([ 'result' => false, 'message' => translate("Uploading error"), 'path' => "", 'upload_id' => 0 ]); } $newPath = "uploads/all/$newFileName"; if (env('FILESYSTEM_DRIVER') == 's3') { Storage::disk('s3')->put($newPath, file_get_contents(base_path('public/') . $newPath)); unlink(base_path('public/') . $newPath); } $upload->extension = $extension; $upload->file_name = $newPath; $upload->user_id = auth()->user()->id; $upload->type = $type[$upload->extension]; $upload->file_size = $size; $upload->save(); return response()->json([ 'result' => true, 'message' => translate("Image updated"), 'path' => uploaded_asset($upload->id), 'upload_id' => $upload->id ]); } catch (\Exception $e) { return response()->json([ 'result' => false, 'message' => $e->getMessage(), 'path' => "", 'upload_id' => 0 ]); } } }