首页 > 解决方案 > 多部分文件到 .zip

问题描述

如何将 MultipartFile 转换为 .zip 然后再转换为字节?就像是:

 MultipartFile file;
 ZipInputStream zip = new ZipInputStream(file.getInputStream());
 Base64.getEncoder().encode(zip)

标签: javaspring

解决方案


转换MultipartFile.zip文件并检索其字节:

public ResponseEntity handleFile(@RequestParam MultipartFile file) throws IOException 
{
    InputStream inputStream = file.getInputStream();
    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
    ZipOutputStream zipOutputStream = new ZipOutputStream(byteArrayOutputStream);
    ZipEntry zipEntry = new ZipEntry(file.getOriginalFilename());
    zipOutputStream.putNextEntry(zipEntry);

    byte[] bytes = new byte[1024];
    int length;
    while((length = inputStream.read(bytes)) >= 0) {
        zipOutputStream.write(bytes, 0, length);
    }
    zipOutputStream.close();

    // Do something with the byteArrayOutputStream
    System.out.println(byteArrayOutputStream.toString());

    return ResponseEntity.accepted().build();
}

推荐阅读