Root Zanli
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
o5t6x7pgljbm
/
public_html
/
admin
/
app
/
Http
/
Controllers
/
Api
/
V2
/
Filename :
V2FileUploadController.php
back
Copy
<?php namespace App\Http\Controllers\Api\V2; use App\Http\Controllers\Controller; use App\Libraries\FileStorageSystem; use Illuminate\Http\Request; class V2FileUploadController extends Controller { protected $fileStorageSystem; public function __construct(FileStorageSystem $fileStorageSystem) { $this->fileStorageSystem = $fileStorageSystem; } public function upload(Request $request) { $request->validate([ 'file' => 'required|file|max:10240', // Max 10MB 'namespace' => 'required|string', ]); $file = $request->file('file'); $namespace = $request->input('namespace'); $storageLocation = 'local'; // or 's3' $fileHandle = $this->fileStorageSystem->storeFile($file, $namespace, $storageLocation); return response()->json(['file_handle' => $fileHandle]); } public function delete(Request $request, $fileHandle) { $this->fileStorageSystem->deleteFile($fileHandle); return response()->json(['message' => 'File deleted successfully.']); } public function download($fileHandle) { $fileContent = $this->fileStorageSystem->retrieveFile($fileHandle); return response($fileContent) ->header('Content-Type', 'application/octet-stream'); } } ?>