如何将byte []转换为CommonsMultipartFile

时间:2018-08-12 23:18:49

标签: java spring spring-boot

我的Spring Boot应用程序中包含以下代码部分:

base64str变量具有基于64位编码的图像,

byte[] data = Base64.decode(base64str);

但是我需要将此数组字节转换为org.springframework.web.multipart.commons.CommonsMultipartFile

然后使用此方法(CommonsMultipartFile是MultipartFile的实现。这就是我使用它的原因)。

AmazonClient.uploadFile(folder, MultipartFile)

非常感谢!

1 个答案:

答案 0 :(得分:1)

可能有一些解决方案:

  1. 我将检查uploadFile方法是否没有重载,该方法可以接受MultipartFile以外的其他内容,或者如果这是一个自定义类,则可以对其进行修改,以接受其他东西。

  2. 您可以使用Files.write()将ByteArray写入文件系统,然后按预期使用CommonsMultipartFile。不要忘记稍后清理文件或使用临时文件机制。

  3. 实施您自己的MultipartFile版本实际上很容易。该接口只有少数方法,如果您有字节数组,则可以轻松创建。

  4. 实际上有一个MockMultipartFile,它也实现了MultipartFile,只是在构造函数中采用了字节数组。这有点脏,因为它仅用于测试目的。