2017-09-27 13 views
0

こんにちは私は強制ダウンロードを行う際にいくつか問題があります。 ここに私のコードです:laravelのamazon s3プライベートファイルからのダウンロード

public function download(Request $request, $id) { 
    $document = Document::find($id); 
    $s3 = Storage::disk('s3'); 
    $name = substr($document->link, strrpos($document->link, '/') + 1); 
    $file = $s3->get($name); 
    $headers = [ 
    'Content-Type' => 'application/pdf', 
    'Content-Description' => 'File Transfer', 
    'Content-Disposition' => "attachment; filename={$name}", 
    'filename'=> $name 
    ]; 
    return response()->download($file); 
} 

私はどのように良いのファイルにアクセスするためにそれを得ることはありません

応答:

is_file()は、パラメータ1は有効なパス、文字列であることを期待与えられた

アイデア?

答えて

1

ヘッダーは実際に応答に添付されません。あなたが参照している場合:https://laravel.com/docs/5.5/responses#attaching-headers-to-responsesあなたはLaravelにヘッダを送信するための適切な方法があることがわかります。

return response($file) 
      ->header('Content-Type', 'application/pdf') 
      ->header('Content-Description', 'File Transfer') 
      ->header('Content-Disposition', "attachment; filename={$name}") 
      ->header('Filename', $name) 

$ファイルalse)((REPONSEにparamenterとして送信される)の代わりに、ダウンロードなどされています。

関連する問題