如何控制文件的打开和下载?

时间:2016-04-15 08:35:06

标签: php laravel

我使用的是Laravel 5.2 如何控制文件的打开和下载?
像这样:

xxx.php?filename=0001.jpg 

有时浏览器会显示图像,有时会显示文件下载框?如何控制它?

2 个答案:

答案 0 :(得分:2)

请阅读documentation

示例:

public function getFile()
{
    $file = public_path(). "/path/to/file.jpg";
    $headers = ['Content-Type' => 'image/jpeg'];

    // For download
    return response()->download($file, 'someName.jpg', $headers);

    // For display
    return response()->file($file, $headers);
}

答案 1 :(得分:0)

以下是我用于下载文件的功能:

public function download($file){
  $path = public_path('PATH/TO/YOUR/'. $file);
  header("Pragma: public");
  header("Content-type: ".mime_content_type($path));
  header("Content-length: " . filesize($path));
  header("Cache-Control: no-cache");
  header("Content-Transfer-Encoding: binary"); 
  header('Content-Disposition: attachement; filename="'.$file.'";');
  readfile($path);
}