[英]Laravel Voyager / S3 Storage - can't retrieve avatar
我已经设置了我的 laravel/voyager,以便它将用户头像上传到 S3。 上传成功,但用户头像已损坏。 我得到了 403。怎么了?
配置/航海者.php
storage' => [
'disk' => 's3',
],
配置/文件系统.php
's3' => [
'driver' => 's3',
'key' => env('S3_ACCESS_KEY_ID'),
'secret' => env('S3_SECRET_ACCESS_KEY'),
'region' => env('REGION'),
'bucket' => env('BUCKET')
],
.env
S3_ACCESS_KEY_ID=accesskeyid
S3_SECRET_ACCESS_KEY=accesskey
BUCKET=bucket
REGION=region
您需要确保您的 S3 存储桶可公开访问。 否则,您将无法在没有令牌的情况下查看图像。
基本上,当您尝试上传新图像时,您需要做的是将可见性设置为公开,否则您会得到 503。
Storage::disk('s3')->setVisibility($image,'public');
如果图像或文件夹已经存在,您需要将 S3 控制台中的可见性更改为公开。
或者另一种方法是将config/filesystems.php文件中的可见性设置为 public
's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
'url' => env('AWS_URL'),
'endpoint' => env('AWS_ENDPOINT'),
'visibility' => 'public'
],
希望这可以帮助任何人。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.