This commit is contained in:
2024-03-17 12:30:19 +01:00
commit c805b5ebaa
133 changed files with 24036 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
<?php
namespace App\Http\Controllers;
use App\Models\TemporaryUpload;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
class UploadController extends Controller
{
public function image(Request $request): JsonResponse
{
$request->validate([
'image' => ['required', 'image', 'max:5120'],
'entity' => ['required', 'string', 'in:avatars'],
'width' => 'nullable|integer|min:1|max:1920',
'height' => 'nullable|integer|min:1|max:1920',
]);
$extension = 'webp';
$path = $request->file('image')
->convert($request->width, $request->height, $extension)
->storeAs(
$request->entity,
implode('.', [Str::ulid()->toBase32(), $extension]),
['disk' => 'public']
);
TemporaryUpload::create([
'path' => $path,
]);
return response()->json([
'ok' => true,
'path' => $path,
]);
}
}