我想上传一个新的文件到亚马逊s3到我的测试桶。
以下是java代码:
AmazonS3 s3Client = new AmazonS3Client(new ProfileCredentialsProvider());
java.util.Date expiration = new java.util.Date();
long msec = expiration.getTime();
msec += 1000 * 60 * 60; // Add 1 hour.
expiration.setTime(msec);
GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest("test-bucket", filename);
generatePresignedUrlRequest.setMethod(HttpMethod.GET);
generatePresignedUrlRequest.setExpiration(expiration);
URL s = s3Client.generatePresignedUrl(generatePresignedUrlRequest);
不管我怎么说:
“指定的键不存在。”用于文件名var。
如何使此代码与新文件一起工作?
发布于 2016-01-05 00:45:31
从外观上看,GeneratePresignedUrlRequest是针对S3中现有对象的。
公共GeneratePresignedUrlRequest(String bucketName,String key)创建了一个新请求,用于生成一个预先签名的URL,该请求可用作HTTP请求的一部分,用于访问存储在指定桶中指定密钥下的Amazon对象。 参数: bucketName -包含所需的S3对象的桶的名称。 key -存储所需的Amazon对象的密钥。
您可以在putObject
类中使用AmazonS3Client方法之一。
PutObjectResult putObject(PutObjectRequest putObjectRequest) 将新对象上载到指定的亚马逊S3桶。 PutObjectResult putObject(String bucketName,String key,File file) 在指定的桶和键名下将指定的文件上载到S3。PutObjectResult putObject(字符串bucketName,字符串键,InputStream输入,ObjectMetadata元数据) 以指定的桶和键名将指定的输入流和对象元数据上载到Amazon。
一旦将对象放入S3,就可以使用键实例化GeneratePresignedUrlRequest对象并获取URL。
https://stackoverflow.com/questions/34599840
复制相似问题