我目前正在将数字海洋与 Amazon S3 开发工具包配合使用,并且能够以编程方式上传和删除文件。但是,复制对象似乎是一个大问题。首先,我的存储桶列表始终返回 0 个结果:s3Client.listBuckets() // 0 results其次,我在一个名为 的空间里有一个名为 .如果我想在同一空间内复制这个对象,正确的代码会是什么样子?我尝试了以下方法:company__1/tempom81p2epoksju921ntk/CLASSIFICATION/127a58b2_dd14_4851_88f2_99d28f849191.jpegmy_do_spaces3Client.copyObject("my_do_space","company__1/tempom81p2epoksju921ntk/CLASSIFICATION/127a58b2_dd14_4851_88f2_99d28f849191.jpeg", "my_do_space", "company__1/somenewthing/CLASSIFICATION/test.jpeg");我也尝试了所有可能的组合,但似乎都不起作用。
1 回答

阿波罗的战车
TA贡献1862条经验 获得超6个赞
事实证明,我的凭据是错误的,我使用了以下内容:
digitalocean: spaces: endpoint: https://my_bucket.sfo2.digitaloceanspaces.com
由于某种原因,我能够正确地从中上传/删除文件
当我将凭据更改为:
digitalocean: spaces: endpoint: https://sfo2.digitaloceanspaces.com
他们通过代码指定存储桶:
s3Client.putObject(new PutObjectRequest("my_bucket", key, fileToUpload) .withCannedAcl(CannedAccessControlList.PublicRead));
我能够使用我的问题中的代码正确复制它
添加回答
举报
0/150
提交
取消