首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Amazon S3 GeneratePresignedUrlRequest -新文件

Amazon S3 GeneratePresignedUrlRequest -新文件
EN

Stack Overflow用户
提问于 2016-01-04 21:06:23
回答 1查看 4.2K关注 0票数 0

我想上传一个新的文件到亚马逊s3到我的测试桶。

以下是java代码:

代码语言:javascript
复制
    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。

如何使此代码与新文件一起工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34599840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档