2016-09-16 1 views
1

laravelでファイルをダウンロードしようとしています。私は物事を持つヘッダの配列を示したリンクの例をたくさん見ているコンテンツタイプ/サイズなどhttpヘッダーとは何ですか、いつ指定する必要がありますか

私の質問どのようなこれらのヘッダをしているし、やるとき、私は彼らに私のコードの

サンプルを設定する必要がありますされ:

$file_path = public_path() . 'path/to/file' . $file_name; 

     if (file_exists($file_path)) { 
      return response()->download($file_path, $file_name); 
     } 

これは私のために働いています。しかし、私はいくつかの例がヘッダー配列を3番目の引数として追加するのを見てきました。

おかげ

+1

はあなたが被写体にGoogleにしようとしたことがありますか?ヘッダーは、さまざまなもののために使用することができ、それについての深いチュートリアルなどがたくさんあります。 「httpヘッダは何ですか?」を検索し、[header()](http://php.net/manual/en/function.header.php)機能に関するPHPのマニュアルをチェックしてください。 –

+0

データ型で、サーバーは何を期限切れにするかを知っているので、JSON、XMLなどと言うことができます。application/text ... RESTful Webサービスで使用する必要があります googleで検索する必要があります。 .. –

答えて

0

HTTPヘッダはに関する追加情報をあなたのウェブブラウザを提供し処理しますそれが要求から得た応答。あなたのケースでは、Content-typeヘッダーは、サーバーが返すコンテンツの種類に関する情報をブラウザに提供します。 Content-type: application/pdfを指定すると、ブラウザがAdobe Readerプラグインを使用して、たとえばサーバーが返すコンテンツを表示する必要があることがわかります。あなたは、HTTPヘッダの詳細情報を見つけることができin this Wikipedia article.

あなたはこのようなあなたのLaravelアプリケーションでHTTPレスポンスヘッダを使用することができます。

return new \Illuminate\Http\Response(file_path, 200, [ 
      'Content-type' => 'application/pdf', 
      'Content-Disposition' => 'attachment; filename=' . $file_name, 
]); 
+0

あなたは私の答えコードをコピーして、私がfile_pathで作ったエラーを修正するのを忘れてしまった – jycr753

0

はこのような何か:私たちは右のヘッダを渡す

return new \Illuminate\Http\Response($file_path, 200, [ 
      'Content-type' => 'application/pdf', 
      'Content-Disposition' => 'attachment; filename=' . $file_name, 
     ]); 

この方法および応答には、クライアントの戻り

関連する問題