Відкрийте можливості завантаження файлів у Laravel за допомогою Storage::download

Перекладено ШІ 2 Laravel News 02 червня, 2026

Хочете дізнатися, як легко та безпечно організувати завантаження файлів у Laravel? У нашій статті ми розглянемо можливості методу Storage::download, що спростить ваше життя під час роботи з файлами

Метод Storage::download у Laravel спрощує безпечну подачу файлів, пропонуючи зрозумілий API для завантаження та управління файловим сховищем.

<?php
 
namespace App\Http\Controllers;
 
use Illuminate\Support\Facades\Storage;
 
class FileController extends Controller
{
    public function download($filename)
    {
        return Storage::download(
            "documents/{$filename}",
            "custom-{$filename}",
            ['Content-Type' => 'application/pdf']
        );
    }
}

Ось приклад використання Storage::download() у контролері:

<?php
 
namespace App\Http\Controllers;
 
use App\Models\Document;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
 
class DocumentController extends Controller
{
    public function download(Request $request, Document $document)
    {
        if (!$request->user()->canDownload($document)) {
            abort(403);
        }
 
        if (!Storage::exists($document->path)) {
            abort(404, 'Файл не знайдено');
        }
 
        $document->increment('download_count');
 
        return Storage::download(
            $document->path,
            $document->original_name,
            [
                'Content-Type' => $document->mime_type,
                'Content-Disposition' => 'attachment',
                'Cache-Control' => 'no-cache, must-revalidate'
            ]
        );
    }
}

Отже, метод Storage::download забезпечує безпечну та ефективну подачу файлів, при цьому абстракуючи деталі постачальника сховища

Популярні

Інше, що варто прочитати

11 Оновлено 01 червня, 2026

Управління доступом у Filament за допомогою плагіна Shield

Дізнайтеся, як пакет Filament Shield забезпечує управління доступом до ваших панелей, ресурсів і віджетів у Laravel. Ця стаття розкриває основні можливості пакету, включаючи просту установку та підтримку багатокористувацьких середовищ — не пропустіть!

74 Оновлено 01 червня, 2026

Laravel Boost — ваш стартовий набір для програмування з використанням штучного інтелекту

Вперше у світі Laravel з'являється можливість, яка значно спростить ваше повсякденне програмування завдяки новому пакету Laravel Boost. Читайте статтю, щоб дізнатися, як посилена інтеграція штучного інтелекту може підвищити ефективність вашої роботи та оптимізувати створення проектів у Laravel

15 Оновлено 01 червня, 2026

Випущено Livewire 3.6

Laravel Livewire випустив нову версію 3.6, яка приносить з собою цікаві HTML-директиви для управління видимістю DOM-елементів і JavaScript-діями. Досліджуйте нові можливості Livewire, що допоможуть вам створити ще більш інтерактивні користувацькі інтерфейси!