awss3在使用putobject(string,string,string)时更改文件扩展名

ef1yzkbh  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(432)

我是新来使用aws的s3,我必须上传一个文件使用 putObject(bucket name, key , string that will become the file) 方法(使我的生活更轻松)。我想知道是否有可能改变扩展名,因为当我使用这个方法时,上传的文件总是有一个“.txt”扩展名,但我需要它是“.csv”。
代码非常简单:

public void uploadStringFile(String bucket,String username, String fileString) {
    s3Client.putObject(bucket, username, fileString);
}

awsS3Service.uploadStringFile("ati-teste",fileName, sb.toString());
y1aodyip

y1aodyip1#

这是你的助手的签名 uploadStringFile 方法:

public void uploadStringFile(String bucket,String username, String fileString)

参数名称可能会产生误导。我们看到代码委托给 AmazonS3#putObject(String, String, String) :

s3Client.putObject(bucket, username, fileString);

根据其javadocs,参数为:
参数:
bucketname—用于放置新对象的存储桶的名称。
key—要创建的对象的键。
内容-要编码的字符串
注意,没有 username . 相反,第二个参数是目标 key . 因此,您可以简单地在第二个参数中传递所需的任何键,这就是s3中的目的。如果已经有了一个基本文件名,比如“test1.txt”,那么可以使用basic String 在调用s3方法之前将其更改为“test1.csv”的操作。
注意,您还可能发现使用S3API的其他变体更方便,例如 AmazonS3#putObject(String, String, File) 或者 AmazonS3#putObject(PutObjectRequest) 以这样的形式:

s3Client.putObject(new PutObjectRequest()
        .withBucketName(bucket)
        .withKey(key)
        .withFile(inputFileObject));

相关问题