Laravel 5.5存储::url()不';t使用S3返回所需的url

Laravel 5.5存储::url()不';t使用S3返回所需的url,laravel,url,amazon-s3,filesystems,storage,Laravel,Url,Amazon S3,Filesystems,Storage,我在laravel 5.5项目中使用S3进行存储 一切都很好,图像都存储在我想要的文件夹下 使用: use Illuminate\Support\Facades\Storage; $path = Storage::put($directory, $file, $permission); $fullPath = config('filesystems.disks.s3.driver'). '.'. config('filesystems.disk

我在laravel 5.5项目中使用S3进行存储 一切都很好,图像都存储在我想要的文件夹下

使用:

use Illuminate\Support\Facades\Storage;

$path = Storage::put($directory, $file, $permission);

$fullPath = config('filesystems.disks.s3.driver').
            '.'.
            config('filesystems.disks.s3.region').
            '.amazonaws.com/'.
            config('filesystems.disks.s3.bucket').
            '/'.
            $path;
完整路径如下所示:

https://s3.us-east-2.amazonaws.com/iva-files/brands/logos/qweisiEC7H2SOV9ozjuOOBRxw399cTm2imnbJEXj.jpeg
我搜索了更好的方法来获取我的完整url,因此我发现:

Storage::url($path);
但它返回的路径如下:

https://ivasystem.signin.aws.amazon.com/console/brands/logos
我的西纳里奥怎么了

试试看:

Storage::disk('s3')->url($filename)
如报告中所述

putFile方法将返回文件的路径,以便您可以在数据库中存储路径,包括生成的文件名

所以,您应该始终在数据库列中存储文件路径和文件名,以便以后可以连接路径和文件名以获得文件的填充url


在我的项目中,我已经这样做了。

我不需要指定磁盘,因为我的默认文件系统是s3。。$filename是什么意思?我没有这个变量$文件名只是一个示例变量,您将使用$path。是的,我编辑了它,但以它开头的url将始终返回s3的url,因为amazon s3使用它自己的文件存储文件url@SalmanZafar这意味着向用户返回公共url以查看图像的唯一方法是像我所做的那样连接它?是的。或者您可以下载它。但最好使用s3 URL,我建议将路径存储在数据库中,稍后您可以使用该路径显示徽标。@Amandepsingh我已将其存储在数据库中,但我需要在该上载请求的响应中返回图像的完整路径问题是关于返回上载图像的完整路径。。不是关于将其保存到数据库中。。有没有办法返回完整路径而不进行连接?