我正在将一些文件上传到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,不错)然后当用户加载页面时,浏览器应该解压缩。有些原因只是将内容类型/编码设置为指定的工作,其他一切都失败了。
答案 0 :(得分:2)
ObjectMetadata。创建新的然后设置所需的元数据。
PutObjectRequest putObjectRequest = new PutObjectRequest(bucket, awsFileKey, file);
if (metadata != null) {
putObjectRequest.setMetadata(metadata);
}