java - 多部分文件到 .zip

标签 java spring

如何将 MultipartFile 转换为 .zip,然后转换为 byte? 像这样的东西:

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

最佳答案

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

关于java - 多部分文件到 .zip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54097549/

相关文章:

java - 在基于 Java 的 Spring 配置中具有多个构造函数的 Bean

java - 递归方法在调试时有效,但从 JAR 运行时会卡住

java - 将列表转换为多维 map

java - 如何为只读数据库表建立索引搜索?

java - Spring data Elasticsearch 中的 DataTableRepository

java - 使 @Transactional 和 @Rollback 与 Spring Boot Test 一起使用

java - Spring MVC 中的部署失败,并且未找到带有 URI 的 HTTP 请求的映射

java - 如何在没有等于/哈希码的 List<MyObject> 中删除重复的对象?

java - 如何从 Java 应用程序制作医学摘要文件

java - Spring boot - 服务类为空