別のビューに移動せずに、Response::download を使用して Laravel でファイルをダウンロードするにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-04 12:31:01
オリジナル
881 人が閲覧しました

How Can I Download Files in Laravel Using Response::download Without Navigating to a Different View?

Response::download を使用して Laravel でファイルをダウンロードする

Laravel アプリケーションでは、ビューにボタンが必要になる場合があります。ユーザーは別のビューやルートに移動せずにファイルをダウンロードできます。ただし、Response::download を使用してこの機能を実装するときに発生する一般的な問題がいくつかあります。

問題 1: 存在しないファイル パス

ファイルが間違っているか、ファイルが存在しない場合、Response::download がエラーをスローします。これを解決するには、ファイル パスが正確で、ファイルが指定された場所に存在することを確認します。

問題 2: ダウンロード ナビゲーション

デフォルトでは、ダウンロード時にボタンをクリックすると、ユーザーは新しいビューまたはルートに移動します。これを防ぐには、ダウンロード機能を現在のビューで処理する必要があります。

両方の問題に対処する修正された例を次に示します:

<code class="php">public function getDownload()
{
    // Full physical path to the PDF file
    $file = public_path() . "/download/info.pdf";

    // Define the headers for the response
    $headers = [
        'Content-Type' => 'application/pdf',
    ];

    // Return the response with the file and headers
    return response()->download($file, 'filename.pdf', $headers);
}</code>
ログイン後にコピー

Laravel 5 の更新

Laravel 5 以降では、Response ファサードは非推奨になりました。代わりに、次のコードを使用してください:

<code class="php">return response()->download($file, 'filename.pdf', $headers);</code>
ログイン後にコピー

これらの修正により、ダウンロード ボタンはエラーを引き起こすことなく同じビューでファイルを適切にダウンロードします。

以上が別のビューに移動せずに、Response::download を使用して Laravel でファイルをダウンロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!