【问题标题】:How to display a single image with html in Laravel Blade?如何在 Laravel Blade 中使用 html 显示单个图像?
【发布时间】:2019-06-23 05:47:37
【问题描述】:

我想显示我数据库中的图像,存储为 blob。查看图片的Blade文件如下。

<div class="col-lg-7"> 
    <img src="{{ url('images/' . $id )}} "/>
</div>

我试图用这个代码替换:

  <img style="display:block;width:100%;height:100%;" src="{{ url('images/' . $id) }} " />

它在页面中显示这样的视图:

我在我的网络路由中使用以下函数来获取图像。

// Get profile image
Route::get('images/{id}', function ($id) {
    // Find the user
    $item = App\Itemregistration::find($id);

    // Return the image in the response with the correct MIME type
    return response()->make($item->Picture, 200, array(
        'Content-Type' => (new finfo(FILEINFO_MIME))->buffer($item->Picture)
    ));
});

以前我可以显示图片;图像存储在图像文件夹中。但是,在另一个区域进行了一些开发后,我突然发现无法显示图片。我使用 URL(例如http://127.0.0.1:8000/images/210)检查了图像作为未知文件下载。我已经将代码与以前的版本进行了比较;这是相同的。我很困惑,是什么导致了问题。

有人知道用哪种方法来识别问题吗?我是否遗漏了某些内容或意外更改了某些内容?谢谢。

【问题讨论】:

  • 它有什么用?
  • 我以前使用过相同的代码,它显示正确。只是经过一些开发,我不知道是什么导致了它的失败
  • 我认为问题是当图像无法存储在图像文件夹中时,意味着路由中的功能无法正常工作..但我不知道为什么..
  • 谢谢您的建议..我刚刚配置了问题是由于开发过程中更改了图像列格式引起的..这就是为什么代码无法读取和检索图像的原因。

标签: php laravel image mime-types file-get-contents


【解决方案1】:

直接在视图中渲染图像,而不是定义一个函数然后像你一样使用它不是更容易吗?

    <img src="{{asset('your_image_folder_path'.$image->name)}}">

我看到您正在尝试通过它访问图像,所以也许您也可以执行以下操作:

    public function methodName($id)
    {
       $image= YourImageModel::find($id);
       return view('your_view_with_compacted_image_variable');

    }

【讨论】:

  • 我正在从 db(picture) 访问要在刀片中显示的 blob 文件..所以函数将 blob 文件转换为要显示的图像..
  • 谢谢您的建议..我刚刚配置了问题是由开发过程中更改的图像列格式引起的..这就是代码无法读取和检索图像的原因..
猜你喜欢
  • 2020-10-10
  • 2017-01-05
  • 2017-01-07
  • 2017-11-02
  • 2017-10-07
相关资源
最近更新 更多