implement uploading file

This commit is contained in:
2026-05-01 02:02:34 +03:30
parent 4776af5c2a
commit 12b6bb4d76
11 changed files with 589 additions and 24 deletions

View File

@@ -0,0 +1,26 @@
<?php
namespace App\Http\Controllers\Chat;
use App\Http\Controllers\Controller;
use App\Models\Message;
use Illuminate\Support\Facades\Gate;
use Illuminate\Support\Facades\Storage;
use Symfony\Component\HttpFoundation\StreamedResponse;
class MessageAttachmentController extends Controller
{
public function __invoke(Message $message): StreamedResponse
{
$message->loadMissing('conversation');
Gate::authorize('view', $message->conversation);
$path = $message->attachmentPath();
abort_unless($message->isFile() && $path, 404);
abort_unless(Storage::disk($message->attachmentDisk())->exists($path), 404);
return Storage::disk($message->attachmentDisk())->download($path, $message->attachmentName());
}
}