簡體   English   中英

Laravel Voyager / S3 Storage - 無法檢索頭像

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM