Laravel 5.1 - 显示存储在Storage文件夹中的图像

xlK*_*lKD 5 php laravel

我正在使用Laravel 5.1为网站制作图像上传功能.由于安全问题,我想将这些图像存储在/storage/app文件夹中,而不是/public.图片的网址,例如:

/storage/app/images/<image_name>
Run Code Online (Sandbox Code Playgroud)

为了获得图像/storage/app,我为此设置了一个特定的路线:

http://app.com/image/<image_name>
Run Code Online (Sandbox Code Playgroud)

将图像请求指向/storage:

Route::controllers([
    'image' => 'Frontend\ImageController',
]);
Run Code Online (Sandbox Code Playgroud)

ImageController,这是创建响应的代码:

public function missingMethod($filename = [])
{
    if (is_array($filename)) {
        $filename = implode('/', $filename);
    }
    // storage_path('app') - path to /storage/app folder
    $path = storage_path('app') . '/' . $filename;
    $file = \File::get($path);
    $type = \File::mimeType($path);

    return \Response::make($file,200)
        ->header("Content-Type", $type);
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,在使用此路线检索图像后,我无法在我的视图中显示它们.没有404,500或任何错误状态代码,它应该是请求URL,但它只是显示了一个损坏的图像图标.我的代码有什么问题吗?

谢谢!

xlK*_*lKD 0

抱歉,我的/config文件夹中的一个 php 脚本有前导空格,导致 http 响应失败@@ 这样一个无意义的错误...谢谢大家的帮助!