Heim >Backend-Entwicklung >PHP-Tutorial >Datei -Downloads in Laravel mit Speicher :: Download ermitteln

Datei -Downloads in Laravel mit Speicher :: Download ermitteln

James Robert Taylor
James Robert TaylorOriginal
2025-03-06 02:22:091015Durchsuche

Discover File Downloads in Laravel with Storage::download

Die

Laravel Framework Storage::download Methode bietet eine prägnante API für die sichere Bearbeitung von Datei -Downloads bei der Verwaltung von Abstraktionen des Dateispeichers.

Folgendes ist ein Beispiel für die Verwendung von Storage::download() im Beispiel -Controller:

<?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']
        );
    }
}

Ein weiteres komplexeres Beispiel, das die Verarbeitung der Autorisierung und Nichteinheit der Datei kombiniert:

<?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, 'File not found');
        }

        $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'
            ]
        );
    }
}

Alles in allem bietet Storage::download eine sichere und effiziente Möglichkeit, Dateien zu bedienen und gleichzeitig die Details des zugrunde liegenden Speicheranbieters zu verbergen.

Das obige ist der detaillierte Inhalt vonDatei -Downloads in Laravel mit Speicher :: Download ermitteln. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn