【发布时间】:2015-12-15 06:46:42
【问题描述】:
我正在尝试将 csv 文件上传到 S3 存储桶。代码运行成功,但是当我检查存储桶时,以Access Key 为名称的文件被上传。我必须手动重命名文件以检查其内容。
有没有一种方法可以仅以编程方式重命名文件,或者文件名在上传时不会自动更改?
请检查以下代码:
public class AwsFileUploader {
private static String bucketName = "mybucket";
private static String accessKey = "my-access-key";
private static String secretKey = "my-secret-key";
private static String uploadFileName = "CompressionScore/compression_score_09-04-2015.csv";
public static void main(String[] args) throws IOException {
AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);
AmazonS3 s3client = new AmazonS3Client(credentials);
try {
System.out.println("Uploading a new object to S3 from a file\n");
File file = new File(uploadFileName);
System.out.println(file.getName()); //prints - compression_score_09-04-2015.csv
s3client.putObject(new PutObjectRequest(bucketName, accessKey, file));
System.out.println("File successfully uploaded");
} catch (AmazonServiceException ase) {
ase.printStackTrace();
} catch (AmazonClientException ace) {
ace.printStackTrace();
}
}
}
理想情况下,存储桶中的文件名称应为compression_score_09-04-2015.csv,而不是AKAJI3EBMILBCWENUSA。
有人可以指导应该做什么吗?
【问题讨论】:
-
我冒昧地从您的帖子中删除了访问和密钥,因为它们看起来很真实。想让您知道,以防我的编辑不被接受,或者您想自行更改。如果它们不是真正的钥匙,请忽略这一点。
-
虽然它们不是真实的,但我仍然明白你的意思。谢谢。
标签: java amazon-web-services file-upload amazon-s3 aws-sdk