如何从公共文件夹中获取图像文件作为Laravel中的响应?

时间:2018-01-22 13:17:38

标签: laravel-5.3

这些是我在控制器中尝试将图像作为响应的不同方法。

我的图片位于public folder/img

switch ($document->ext) {

    case 'doc':
        $img = File::get(url('/img/doc.png'));
        break;

    case 'docx':
        $img = File::get(asset('/img/docx.jpg'));
        break;

    case 'pdf':
        $img = File::get(public_path('/img/pdf.png'));
        break;

    case 'ppt':
        $img = File::get(url(public_path('/img/ppt.png')));
        break;

    default:
}
return new Response($img, 200);

3 个答案:

答案 0 :(得分:1)

在文件夹名称之前添加公开

$img = File::get(url('public/img/doc.png'));

答案 1 :(得分:1)

我想这是一个更好的方法,以防我们更改public_path

        case 'doc':
        return response()->file(public_path('img/doc.png'));
        exit;

答案 2 :(得分:0)

使用它从公共文件夹下载文件,并可选择设置名称

public function downloadSample(){
        return Response::download(public_path("folder/my_file.xlsx"),
                     'your_file_name_when_downloaded.xslx');
    }