MultipartFile到.zip

时间:2019-01-08 18:21:17

标签: java spring

如何将MultipartFile转换为.zip,然后转换为字节? 像这样:

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

1 个答案:

答案 0 :(得分:1)

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();
}