Maison > développement back-end > tutoriel php > Découvrez les téléchargements de fichiers dans Laravel avec Storage :: Télécharger

Découvrez les téléchargements de fichiers dans Laravel avec Storage :: Télécharger

James Robert Taylor
Libérer: 2025-03-06 02:22:09
original
1023 Les gens l'ont consulté

Discover File Downloads in Laravel with Storage::download

La méthode

Laravel Framework Storage::download fournit une API concise pour gérer en toute sécurité les téléchargements de fichiers tout en gérant les abstractions du stockage de fichiers.

Ce qui suit est un exemple d'utilisation Storage::download() dans l'exemple de contrôleur:

<?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']
        );
    }
}
Copier après la connexion

Un autre exemple plus complexe, qui combine le traitement de l'autorisation et de la non-existence du fichier:

<?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'
            ]
        );
    }
}
Copier après la connexion

Dans l'ensemble, Storage::download fournit un moyen sûr et efficace de servir les fichiers tout en cachant les détails du fournisseur de stockage sous-jacent.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal