Метод 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 забезпечує безпечну та ефективну подачу файлів, при цьому абстракуючи деталі постачальника сховища
Вперше у світі Laravel з'являється можливість, яка значно спростить ваше повсякденне програмування завдяки новому пакету Laravel Boost. Читайте статтю, щоб дізнатися, як посилена інтеграція штучного інтелекту може підвищити ефективність вашої роботи та оптимізувати створення проектів у Laravel
Laravel Livewire випустив нову версію 3.6, яка приносить з собою цікаві HTML-директиви для управління видимістю DOM-елементів і JavaScript-діями. Досліджуйте нові можливості Livewire, що допоможуть вам створити ще більш інтерактивні користувацькі інтерфейси!
Чи стикалися ви з помилкою «SQLSTATE[HY000] [2002] Connection refused» під час налаштування GitHub Actions для вашого додатку на Laravel? У нашій статті ми розглянемо три поширені причини цієї помилки та надамо рішення для їх усунення. Читайте далі, щоб дізнатися, як ваш CI/CD потік може працювати бездоганно!