S3 SDK在上载时更新单个对象而不是创建新文件

时间:2017-10-29 18:57:32

标签: java amazon-web-services file-upload amazon-s3 aws-sdk

我正在尝试将我想要的多个文件上传到S3存储桶以使用Java SDK。我这样做:

getData = times => {
    let str = [];
    for (let i = 0; i < times; i++) {
      str.push(<li key={i}> input: {i+1} </li>);
    }
    return <ul>{str}</ul>;
};

问题在于它总是覆盖现有文件。因此,无论我将“myFilePath”参数更改为图像还是文本,它都不会创建新文件,而是更新现有文件。它不应该发生,因为它们是不同的文件,不一样。

如何在不更新现有文件的情况下创建文件?

2 个答案:

答案 0 :(得分:2)

PutObjectRequest构造函数的第二个参数是存储新对象的键。您错误地为所有请求传递了相同的密钥(ACCESS_KEY)。

答案 1 :(得分:1)

S3键是对象的名称。它是S3中文件的完整路径+文件名。您正在使用ACCESS_KEY,它看起来像您的AWS凭据的一部分。你不应该在该参数中传递ACCESS_KEY,你应该传递对象密钥/文件名。