Angular前端显示Laravel后端存储的图像

时间:2018-12-18 10:25:37

标签: angular laravel image variables ngfor

我想在前端(Angular)中显示图像,但是该图像存储在Laravel(5.5)后端中。我已经尝试过了,我该怎么办? enter image description here

这是错误 enter image description here

2 个答案:

答案 0 :(得分:0)

storage_path()

函数返回到存储目录的标准路径:

$path = storage_path();

然后:

<img src="{{$path}}/{{beer.image}}.ext">

<img src="{{storage_path()}}/{{beer.image}}.ext">

可能是更好的做法。您还需要文件扩展名。

答案 1 :(得分:0)

如果您的图像存储在Laravel的存储文件夹中,则在route route.php中创建此路由(如果您使用的是Laravel 5.4以上版本,则在web.php中创建)

Route::get('images/{filename}', function ($filename)
{
    $file = \Illuminate\Support\Facades\Storage::get($filename);
    return response($file, 200)->header('Content-Type', 'image/jpeg');
});

现在您可以像这样使用此路由加载图像。

<img src="websiteurl/images/filename.jpg"/>

如果图像存储在公用文件夹中,则可以直接加载

   <img src="websiteurl/admin/images/uploads/filename.jpg"/>
  

您需要同时运行Laravel(后端)和Angular(前端)应用程序(根据您的代码)