无法在Laravel 5.3中的View中检索图像

时间:2017-02-08 06:59:52

标签: php laravel laravel-5.3 laravel-blade

我已将图片上传到存储文件夹中。现在我想在视图中检索图像。我现在在当地工作。 <img src={{ Storage::disk('local')->url($image->path) }}>不起作用。我错过了什么?

2 个答案:

答案 0 :(得分:2)

首先,确保在公共目录和存储/应用/公共目录之间正确设置了符号链接。您可以使用以下命令执行此操作:

php artisan storage:link

如需了解更多信息,请查看:https://laravel.com/docs/5.3/filesystem#configuration

在视图中,您可以显示如下图像:

<img src="{{ asset($image->path) }}" />

另外,请确保将图像路径正确存储在数据库中。

答案 1 :(得分:0)

为什么不制作一个接收模型的名称或ID或者你拥有的任何东西的函数,并根据某种逻辑返回图像? 例如:

  1. 获取文件名(如果将其保存在文件夹下,请务必保存 folder / filename.extension,if)
  2. 搜索并获取正确存储的文件
  3. 使用正确的标题
  4. 返回文件
  5. 创建一个GET路由,接收文件名和调用作为参数 一个功能如下所示
  6.  // Controller
    public function getImage(Request $request){
       $filename = $request->filename;
       $file = Storage::disk('local')->get($filename);
       return response($file)->withHeaders(['Content-Type' => "image/png"]);
    }
    
    
     // Route
    Route::get('/getThisImage/{filename}',[
     'uses'=>'HomeController@getImage',
     'as'=>'getImage'
    ]);
    
    // Example of calling it in blade
    <img src="{{route('getImage')}}/{{$image->path}}">