如何查看在laravel中存储为数组的图像?

Posted

技术标签:

【中文标题】如何查看在laravel中存储为数组的图像?【英文标题】:how to view images that stored as array in laravel? 【发布时间】:2018-06-28 10:42:06 【问题描述】:

用户上传多张图片并以数组形式存储。如何在 laravel 刀片文件中显示这些图像? 当我尝试时,我得到了这个错误。

htmlspecialchars() expects parameter 1 to be string, array given (View: C:\Users\user\laravel2\newfyp\resources\views\postqs\show.blade.php)

显示刀片:

   <img src="/image/ $postqs['image'] " 
    style="width:150px; height:150px;"> </td>

型号:

  protected $casts = [
    'image'=>'array', ];

 protected $fillable = ['image'];

创建刀片

                <div class="form-group">
                    <label class="control-label col-sm-2" >image test:
             </label>
                    <form action="upload" id="upload" enctype="multipart/form-data">
                    <input type="file" name="image[]" id="image" multiple><br />

                </form>
                <div id="message"></div>

【问题讨论】:

Laravel 5.3 multiple file uploads的可能重复 你能显示转储的数组代码吗?我的意思是转储数组并在此处显示结果 $postqs['image'] 是数组而不是字符串 【参考方案1】:
protected $fillable = [''image'];

这是双引号的错字吗?

如果图像在数组中,只需遍历数组并为每个图像创建一个 img。

您是否在视图文件中尝试过类似以下内容:

@foreach ($postqs['image'] as $image)
    <img src="asset( $image )" />
@endforeach

【讨论】:

你是如何循环数组的?如果阵列中每个图像的路径都是正确的,则应该没有问题。我使用 asset 助手链接到公共资源,例如:&lt;img src= asset('/images/someimage.png') /&gt;【参考方案2】:

首先你应该更正这一行:

protected $fillable = [''image']; // ['image'] and not [''image']

htmlspecialchars(): 当变量为空时,我总是得到这个错误。

一个简单的解决方案是将您的 html 包装为:

@if($yourVar)
@endif

您还可以转储变量以显示结构。

祝你好运。

【讨论】:

【参考方案3】:

试试:

@foreach($postqs['image'] as $imagePath)
    <img src="/image/ $imagePath " 
        style="width:150px; height:150px;"> 
@endforeach
</td>

【讨论】:

以上是关于如何查看在laravel中存储为数组的图像?的主要内容,如果未能解决你的问题,请参考以下文章

如何显示存储在数据库 PHP 中的图像路径? (Laravel 兰花)

如何将图像从本地存储上传到云端?

如何以及在哪里可以用laravel存储图像?

如何在 laravel 6 中存储和检索嵌套的 JSON 数组

Laravel 5:将图像网址作为数组插入列

如何在 nuxtjs 中显示来自存储(Laravel)的图像