ホームページ > バックエンド開発 > PHPチュートリアル > ストレージを使用してLaravelでファイルのダウンロードを発見してください::ダウンロード

ストレージを使用してLaravelでファイルのダウンロードを発見してください::ダウンロード

James Robert Taylor
リリース: 2025-03-06 02:22:09
オリジナル
1023 人が閲覧しました

Discover File Downloads in Laravel with Storage::download

Laravel Frameworkの

メソッドは、ファイルストレージの抽象化を管理しながら、ファイルのダウンロードを安全に処理するための簡潔なAPIを提供します。 Storage::download

以下は、コントローラーのサンプルで

を使用する例です。 Storage::download()

ファイルの承認と存在の処理を組み合わせたもう1つのより複雑な例:
<?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']
        );
    }
}
ログイン後にコピー

全体として、

基礎となるストレージプロバイダーの詳細を隠しながら、ファイルをサービスするための安全で効率的な方法を提供します。
<?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'
            ]
        );
    }
}
ログイン後にコピー

以上がストレージを使用してLaravelでファイルのダウンロードを発見してください::ダウンロードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート