如何在laravel刀片中显示存储图像?

时间:2019-01-18 09:17:04

标签: php mysql laravel

我用以下代码存储了图片

if (isset($image)) {
    // make unique name for image
    $currentDate = Carbon::now()->toDateString();
    $imagename = $slug . '-' . $currentDate . '-' . uniqid() . '.' . $image->getClientOriginalExtension();

    // check category dir is exists
    if (!Storage::disk('public')->exists('category')) {
        Storage::disk('public')->makeDirectory('category');
    }
    // resize image for category and upload
    $category = Image::make($image)->resize(1600,479)->stream();
    Storage::disk('public')->put('category/'.$imagename,$category);
    // check category slider dir is exists
    if (!Storage::disk('public')->exists('category/slider')) {
        Storage::disk('public')->makeDirectory('category/slider');
    }
    // resize image for category slider and upload
    $slider = Image::make($image)->resize(500,333)->stream();
    Storage::disk('public')->put('category/slider/'.$imagename,$slider);
} else {
    $imagename = "default.png";
}

尝试使用此代码

<img src="images/icons8-team-355979.jpg" alt="Profile Image">

无法加载资源:服务器响应状态为404(未找到) 这是错误

2 个答案:

答案 0 :(得分:0)

尝试

<img src="{{url('category/slider')}}/{{ $category->image }}" alt="{{$category->name}}">

URL函数将转到“ / public”文件夹。因此,您可能需要编辑'/config/filesystem.php',以便将上传的照片保存在'/ public'目录中。

有关此的更多信息,请检查此document

答案 1 :(得分:0)

如果要直接从公用磁盘提供文件,则需要创建一个指向这些文件的符号链接。在此处的文档中对此进行了描述:https://laravel.com/docs/5.7/filesystem#the-public-disk

完成此操作后,可以使用asset()函数链接到资产。

echo asset('category/slider/icons8-team-355979.jpg');