[英]How to upload an image to Amazon s3 bucket using Java in Android?
[英]Java - Amazon S3 bucket upload issue with braces “()” not uploading
我正在尝试以一种非常简单的方式在 Amazon s3 存储桶上上传文件,但如果文件名由“(”或“)”组成,则会出错,我不想删除或替换这些大括号,因为它们是我的案例所必需的
代码:
AWSCredentials awsCredentials = new BasicAWSCredentials("accessKey", "secretKey");
AmazonS3 s3 = new AmazonS3Client(awsCredentials);
String fileName = "TEST_FILE_(NAME).pdf";
String directorykey = "path/to/amazon/directory";
File file = new File(/* path_to_file + */ fileName);
try {
s3.putObject(bucketName, directorykey+"/"+fileName , file);
} catch (AmazonServiceException e) {
LOG.fatal("Failed to store file to bucket: " , e);
} catch (AmazonClientException e) {
LOG.fatal("Failed to store file to bucket: " , e);
}
错误:
状态码:403; 错误代码:SignatureDoesNotMatch; 请求 ID:tx000000000000002e9edee-005a4ed3d2-2213a2-uky-campus-1; S3 扩展请求 ID:123456789)
文件TEST_FILE_(NAME).pdf
不会在这里使用 - 这是本地文件的路径,
S3 实际上并不是一个文件系统,它更像是一个大的(哈希表)关联数组。 “Bucket”是 hash 表的名称,“Key”是键( 来自这里)
String fileName = "TEST_FILE_(NAME).pdf";
String directorykey = "path/to/amazon/directory";
// make sure, that the file exists in a location - provide a path to a file
File file = new File(/* path_to_file + */ fileName);
try {
s3.putObject(bucketName, directorykey + "/" + fileName , file);
} catch (AmazonServiceException e) {
LOG.fatal("Failed to store file to bucket: " , e);
} catch (AmazonClientException e) {
LOG.fatal("Failed to store file to bucket: " , e);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.