This commit is contained in:
F4ilji
2026-04-07 17:54:26 +05:00
parent 04adba6682
commit 936b1fb5b0
468 changed files with 43498 additions and 4176 deletions
@@ -0,0 +1,35 @@
<?php
namespace App\Containers\Dashboard\Tasks\Files;
use Illuminate\Http\UploadedFile;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str;
class UploadFileTask
{
/**
* Загружает файл на публичный диск и возвращает путь
*
* @param UploadedFile $file Файл для загрузки
* @return array ['path' => путь в storage, 'url' => публичный URL, 'original_name' => оригинальное имя]
*/
public function run(UploadedFile $file): array
{
$originalFileNameWithExtension = $file->getClientOriginalName();
$originalFileName = pathinfo($originalFileNameWithExtension, PATHINFO_FILENAME);
$extension = $file->getClientOriginalExtension();
$sluggedFileName = Str::slug($originalFileName);
$uniqueFileName = $sluggedFileName . '-' . md5(uniqid(rand(), true)) . '.' . $extension;
$path = $file->storeAs('files', $uniqueFileName, 'public');
$url = Storage::url($path);
return [
'path' => $path,
'url' => $url,
'original_name' => $originalFileNameWithExtension,
];
}
}