如何将byte []转换为CommonsMultipartFile?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (3497)

我的Spring Boot App中有以下部分代码:

base64str变量有一个编码基部64的图像,

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

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

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

AmazonClient.uploadFile(folder, MultipartFile)
提问于
用户回答回答于

可能有一些解决方案:

  1. 我会检查uploadFile方法是否没有重载接受别的东西,或者如果MultipartFile是一个自定义类,也许它可以修改,接受别的东西。
  2. 你可以使用Files.write()将ByteArray写入文件系统,然后按预期使用CommonsMultipartFile。不要忘记稍后清理文件或使用临时文件机制。
  3. 实现你自己的MultipartFile版本实际上相当容易。如果你有一个字节数组,接口只有几个方法可以很容易地创建。
  4. 实际上还有一个MockMultipartFile,可以实现MultipartFile并且只在构造函数中获取一个字节数组。这是一个肮脏的黑客,因为它仅用于测试目的。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励