Laravel 5.5 Storage :: url()无法使用S3

时间:2018-08-13 10:59:55

标签: 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.disks.s3.region').
            '.amazonaws.com/'.
            config('filesystems.disks.s3.bucket').
            '/'.
            $path;

完整路径如下:

https://s3.us-east-2.amazonaws.com/iva-files/brands/logos/qweisiEC7H2SOV9ozjuOOBRxw399cTm2imnbJEXj.jpeg

我搜索了获取完整网址的更好方法,所以我发现:

Storage::url($path);

但是它的返回路径是:

https://ivasystem.signin.aws.amazon.com/console/brands/logos

我的sinario有什么问题?

2 个答案:

答案 0 :(得分:0)

尝试:

Storage::disk('s3')->url($filename)

答案 1 :(得分:0)

Official Laravel Documents

中所述
  

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

因此,您应始终将文件路径和文件名存储在数据库列中,以便以后可以将路径和名称连接起来以获取文件的填充URL。

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