2

我正在将一些文件上传到 S3 存储桶。一个 zip 文件,一个 .json 文件。

当我上传它们时,两个文件都将具有:

Content-Type: application/octet-stream

我需要 zip 文件:

Content-Type: text/plain
Content-Encoding: gzip

我必须做些什么来确保这些文件以所需的类型/编码上传?

下面是我的一些代码:

保存文件:

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName)));
bw.write(content);
bw.close();

上传文件:

AWSCredentials myCredentials = new BasicAWSCredentials(ACCESS_KEY,SECRET_KEY);
TransferManager tx = new TransferManager(myCredentials);
Upload uploading = tx.upload(new PutObjectRequest(bucket, awsFileKey, file));

我要完成的工作:

我正在开发自动建议功能。如果我上传纯 json 文件,它会超过 1.5MB,这太可怕了。所以接下来最好的事情是上传 ZIP 文件(它将文件减少到 300kb,不错)然后当用户加载页面时,浏览器应该解压缩。某些原因仅将内容类型/编码设置为那些指定的作品,其他一切都失败了。

4

1 回答 1

3

对象元数据。新建然后设置您想要的元数据。

PutObjectRequest putObjectRequest = new PutObjectRequest(bucket, awsFileKey, file);

if (metadata != null) {
    putObjectRequest.setMetadata(metadata);
}
于 2013-05-21T14:43:48.027 回答