Mule & Java - Byte[] to File



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

  1. 文件名,扩展名为 - String
  2. 内容 - 用Base64 - String编码

有了这些数据,我想在我的Amazon S3中放置一个对象,但它需要File类型参数。

我用这个变换到byte[]:

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

我想将字节[]转换为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);

您可以在Mule中使用S3连接器。

使用set-payload with #[org.apache.commons.io.IOUtils.toByteArray(node2JSON)]

相关内容

  • 没有找到相关文章

最新更新