我正在尝试使用从S3下载一个文件,并将该文件存储在我的PC中的一个本地目录中。
我为下载对象编写的代码是:
public void download(String key) {
S3Object obj=s3Client.getObject(new GetObjectRequest(bucketname,key));
}但是我实际上想要做的是将本地路径作为参数而不是键传递,并将下载的文件obj存储在特定的目录中,例如/tmp/AWSStorage/在我的linux盒中。
你能建议一下怎么做吗?
发布于 2014-01-20 14:13:06
在行S3Object obj=s3Client.getObject(new GetObjectRequest(bucketname,key));桶名是S3BucketName和键是对象名,它不是一个本地文件路径。键-是公共前缀/对象名称的组合。
也就是说,如果您的文件保存在桶的根,那么只有对象的名称才是键,即myfile.txt,但是如果您的文件保存为myfolder 1/myfolder 2/ myfile.txt,那么myfolder 1/my文件夹是您的常用前缀,而myfile.txt是对象名。
S3Object obj=s3Client.getObject(new GetObjectRequest(bucketname,"myfolder1/myfolder2/myfile.txt"));发布于 2014-01-23 10:15:38
我用:
s3Client.getObject(new GetObjectRequest(bucket,key),file);效果很好。
发布于 2017-11-01 13:08:14
有一个API接口可以直接下载文件到本地路径。
ObjectMetadata getObject(GetObjectRequest getObjectRequest,
File destinationFile)https://stackoverflow.com/questions/21229493
复制相似问题