【问题标题】:Issue uploading public images to AWS S3 Laravel 9将公共图像上传到 AWS S3 Laravel 9 的问题
【发布时间】:2023-01-26 19:42:02
【问题描述】:

我已广泛搜索此问题,但无济于事。这是给我问题的代码。

 if ($request->hasFile("images")) {
    foreach ($request->file("images") as $i => $image) {
        $path = $image->storePubliclyAs($product->id, "image_$i.{$image->extension()}");

    }
}

$image->storePubliclyAs() 行引发错误:

InvalidArgumentException: Found 1 error while validating the input provided for the GetObject operation:
[Key] expected string length to be >= 1, but found string length of 0 in file /var/www/html/vendor/aws/aws-sdk-php/src/Api/Validator.php on line 65

我应该注意,我已经在 .env 文件中指出文件系统磁盘应该指向 S3。存储桶的对象也是完全公开的。这非常令人困惑,因为 $image->storeAs() 工作得很好。

【问题讨论】:

    标签: php laravel amazon-web-services amazon-s3 laravel-9


    【解决方案1】:

    你能试试下面的这段代码吗?我只是更改了您使用 $i 为图像命名的方式。

     if ($request->hasFile("images")) {
        foreach ($request->file("images") as $i => $image) {
            $path = $image->storePubliclyAs($product->id, "image_".$i.{$image->extension()}");
    
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-30
      • 2021-12-26
      • 2017-01-29
      • 2018-05-12
      • 1970-01-01
      • 1970-01-01
      • 2014-03-18
      相关资源
      最近更新 更多