我得到一个带有两个节点的JSON
:
扩展名为-String
的文件名。
内容-用Base64编码-String
。
有了这些数据,我想在Amazon S3
中放置一个对象,但是它需要一个File
类型的参数。
我也使用它来转换为byte[]
:
byte[] arrayDecoded = Base64.getDecoder().decode(node2JSON);
我想将byte []转换为Java类Java中的File,然后将其放入Amazon S3。
不使用目录中的文件怎么办?
最佳答案
您可以使用AmazonS3#putObject(String bucketName, String key, InputStream input,ObjectMetadata metadata)方法上传数据,而无需将文件写入文件系统。
在元数据中指定文件的长度,并使用ByteArrayInputStream将字节数组转换为输入流。
ObjectMetadata objectMetadata = new ObjectMetadata();
objectMetadata.setContentLength(data.length);
amazonS3.putObject(bucketName, filename, new ByteArrayInputStream(data), objectMetadata);