How to get image from resources in Laravel?

后端 未结 3 2073
醉话见心
醉话见心 2021-02-19 04:36

I upload all user files to directory:

/resources/app/uploads/

I try to get image by full path:

http://localhost/resources/app/u         


        
3条回答
  •  面向向阳花
    2021-02-19 05:03

    You can make a route specifically for displaying images.

    For example:

    Route::get('/resources/app/uploads/{filename}', function($filename){
        $path = resource_path() . '/app/uploads/' . $filename;
    
        if(!File::exists($path)) {
            return response()->json(['message' => 'Image not found.'], 404);
        }
    
        $file = File::get($path);
        $type = File::mimeType($path);
    
        $response = Response::make($file, 200);
        $response->header("Content-Type", $type);
    
        return $response;
    });
    

    So now you can go to localhost/resources/app/uploads/filename.png and it should display the image.

提交回复
热议问题