File "MediaController.php"
Full Path: /var/www/html/back/app/Http/Controllers/Api/V1/MediaController.php
File size: 1.29 KB
MIME-type: text/x-php
Charset: utf-8
<?php
declare(strict_types=1);
namespace App\Http\Controllers\Api\V1;
use App\Attributes\OpenApiResponse;
use App\Http\Controllers\Api\ApiController;
use App\Models\Media;
use App\Responses\ResponseDto;
use Illuminate\Http\Request;
use Knuckles\Scribe\Attributes\Group;
/**
* Контроллер для работы с временными файлами в media
*/
class MediaController extends ApiController
{
/**
* Загрузка временного файла
*
* @queryParam files[]
*/
#[Group('media')]
#[OpenApiResponse(ResponseDto::class)]
public function uploadTemporary(Request $request): ResponseDto
{
$request->validate([
'files' => 'required|array',
'files.*' => 'file|max:10240', // Макс. 10МБ для каждого файла
]);
$uploadedFiles = [];
foreach ($request->file('files') as $file) {
$originalName = $file->getClientOriginalName();
$path = $file->storeAs('temp/', basename($originalName), 'public');
$uploadedFiles[] = [
'path' => $path,
'original_name' => $originalName
];
}
return new ResponseDto(
data: $uploadedFiles,
status: true
);
}
}