You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel上传文件至AWS S3失败:无法写入文件问题求助

Laravel上传AWS S3报错:Unable to write file at location: example.txt

以下是几个排查和解决方向:

  • 磁盘名称不匹配:你在config/filesystem.php里配置的S3磁盘是'test',但测试代码里调用的是Storage::disk('s3'),两者必须一致。要么把代码改成Storage::disk('test')->put('example.txt', 'Hello, world!'),要么把config/filesystem.php里的数组键从'test'改为's3'。

  • AWS_URL配置错误:你的.env中AWS_URL填的是控制台地址https://ductn-test.console.aws.amazon.com/,这不符合要求。正确的AWS_URL应该是存储桶的访问域名(比如https://ductn-test.s3.us-east-1.amazonaws.com/),或者直接留空,让Laravel自动根据region和bucket生成地址。

  • 检查IAM权限:确认你的AWS_ACCESS_KEY_ID对应的IAM用户拥有s3:PutObject权限,同时存储桶的策略允许该用户执行上传操作。可以给IAM用户附加如下权限策略:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::ductn-test/*"
        }
    ]
}
  • 刷新配置缓存:修改配置文件后,执行php artisan config:clear清除配置缓存,确保新配置生效。

内容的提问来源于stack exchange,提问作者Ductn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 13:02:25