骡子& Java - 字节[]到文件

时间:2016-06-26 12:02:30

标签: java file amazon-s3 base64 mule

我得到一个有两个节点的JSON

  1. 文件名扩展程序 - String
  2. 使用Base64的内容 - 编码 - String
  3. 根据这些数据,我想在我的Amazon S3放置一个对象,但它需要一个File类型参数。

    我也用它来转换为byte[]

    byte[] arrayDecoded = Base64.getDecoder().decode(node2JSON);
    

    我想在java类Java中将 byte []转换为File ,然后将其放到Amazon S3中。

    如果不使用目录中的文件,我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以使用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);

答案 1 :(得分:0)

您可以在Mule中使用S3 Connector。

将set-payload与#[org.apache.commons.io.IOUtils.toByteArray(node2JSON)]一起使用