0

我被困住了。如何显示存储在 laravel 7.14 的 /storage/app/public 目录中的图像?我已经尝试过我在堆栈溢出中找到的那些,甚至是我通过谷歌搜索找到的那些。

我试过这个解决方案

//Controller function
 public function renderPic($filename) {
      
      $path = '/storage/app/public/uploads/'.$filename;

      if (!File::exists($path)) {
           abort(404);
      }

      $file = File::get($path);
      $type = File::mimeType($path);

      $response = Response::make($file,200);
      $response->header("Content-Type",$type);
      return $response;
 }

网络路由

Route::get('user/renderPic/{filename}', 'User@renderPic')->name('user.renderPic');

刀片视图文件

<img id="displayPic" src="{{ route('user.renderPic',$user->filename) }}">

它没有出现

4

1 回答 1

2

您不需要定义路由和控制器方法来渲染图像。

您只需在 laravel 应用程序的根目录中打开一个终端并运行

php artisan storage:link

这将为 storage/app/public 目录创建一个符号链接到 public/storage

在您的刀片文件中,您只需像这样渲染图像:

<img id="displayPic" src="{{ asset('storage/your-image-name.ext') }}">
于 2020-07-03T02:13:36.300 回答