我已经设置了一个 S3 存储桶并创建了一个具有完全 S3 访问权限的 IAM 用户,并运行了composer require league/flysystem-aws-s3-v3.
我还在 .env 中配置了以下内容:
AWS_ACCESS_KEY_ID=XXXX
AWS_SECRET_ACCESS_KEY=YYYY
AWS_DEFAULT_REGION=us-west-3
AWS_BUCKET=my-bucket
AWS_USE_PATH_STYLE_ENDPOINT=false
FILESYSTEM_DRIVER=s3
Run Code Online (Sandbox Code Playgroud)
问题是我根本无法从我的控制器与 S3 交互。我尝试过将文件发送到 S3:
$path = $request->Image->store('images', 's3');
Run Code Online (Sandbox Code Playgroud)
我还手动将图像上传到 S3,然后尝试检查是否可以找到它:
if (Storage::disk('s3')->exists('photo.jpg')) {
dd("file found");
} else{
dd("file not found");
}
Run Code Online (Sandbox Code Playgroud)
这会导致此错误:Unable to check existence for: photo.jpg
这让我认为问题出在flysystem-aws-s3-v3.
有没有办法缩小问题所在的范围?顺便说一句,我正在使用Laravel 9和Flysystem-aws-s3-v3 3.0(如果有帮助的话)。
我正在尝试 Go 并编写了一个应用程序来管理要由工作 goroutine 处理的 HTTP 请求队列。
并发的东西似乎工作正常,但我在发回响应时收到此错误http: wrote more than the declared Content-Length。
这是完整的代码:
package main
import (
"log"
"net/http"
"sync"
)
// Job represents a unit of work to be processed by a worker.
type Job struct {
r *http.Request // HTTP request to be processed
w http.ResponseWriter // Response writer to send the result
}
// Queue manages a list of jobs to be processed by workers.
type Queue struct {
jobs []*Job // List …Run Code Online (Sandbox Code Playgroud)