base64转MultipartFile

发布时间 2023-04-06 17:28:23作者: 铁子1028

为了将base64字符串转换为MultipartFile对象,你可以编写一个Java方法来执行此操作。以下是一个示例实现:

public static MultipartFile base64ToMultipartFile(String base64) throws IOException {
    String[] parts = base64.split(",");
    String contentType = parts[0].split(";")[0].split(":")[1];
    byte[] bytes = Base64.getDecoder().decode(parts[1]);
    return new MockMultipartFile("file", "file", contentType, bytes);
}

这个方法接受一个base64字符串参数,并使用逗号分隔符将其分成两个部分。第一部分是数据的类型和编码,第二部分是实际的base64编码数据。然后,它使用Java 8的Base64解码器将base64编码数据转换为字节数组。最后,它使用Spring框架的MockMultipartFile类创建一个MultipartFile对象,并将字节数组和数据类型设置为相应的参数。

要使用这个方法,你可以简单地调用它并传递一个base64字符串参数:

String base64 = "data:image/png;base64,iVBORw0KG...";
MultipartFile file = base64ToMultipartFile(base64);

这将创建一个MultipartFile对象,其中包含从base64字符串中解码的数据和相应的数据类型。