unisharp laravel-filemanager 缩略图 url

问题描述

嗨,我正在使用 unisharp laravel-filemanager 来让用户上传他们的产品照片

图片上传时间

此地址将保存在数据库

/photos/44/606074649c651.jpg

我可以用它

{{asset('storage/'.$product->cover_img)}}

缩略图保存在这个地址

/photos/44/thumbs/606074649c651.jpg

如何获取缩略图的地址以及如何在刀片中使用它?

这就是答案

@PHP($lastSlash = strrpos($product->cover_img,"/"))

src="{{asset('storage/'.substr_replace($product->cover_img,'thumbs/',$lastSlash+1) .'' .substr($product->cover_img,$lastSlash+1))}}"

解决方法

你可以使用这样的函数:

function getThumbs($url=""){
    $base = basename($url);
    if (strpos($url,'https://') !== false or strpos($url,'http://') !== false) {
        return str_replace($base,"thumbs/".$base,$url);
    }else{
        $preUrl = "storage/";
        $beforeBase = str_replace($base,"",$url);
        return $preUrl.$beforeBase.'thumbs/'.$base;
    }
}

并在您的刀片中使用:

<img src="{{ getThumbs($product->cover_img) }}" .../>