springboot-restapi发布文件并返回压缩文件作为响应

springboot-restapi发布文件并返回压缩文件作为响应,spring,rest,spring-boot,zip,http-post,Spring,Rest,Spring Boot,Zip,Http Post,我试图从一个HTTP POST接收一个文件,我将其拆分成单独的文件,然后需要以zip文件的形式返回该文件。我正在尝试返回文件,我已尽一切努力返回文件,但我无法接收文件。。。有什么想法吗 @RequestMapping(value = "/splitFile", headers = ("content-type=multipart/*"), produces ="application/zip", method = RequestMethod.POST) public void SplitFile

我试图从一个HTTP POST接收一个文件,我将其拆分成单独的文件,然后需要以zip文件的形式返回该文件。我正在尝试返回文件,我已尽一切努力返回文件,但我无法接收文件。。。有什么想法吗

@RequestMapping(value = "/splitFile", headers = ("content-type=multipart/*"), produces ="application/zip", method = RequestMethod.POST)
public void SplitFile(@RequestParam(value = "file", required = true) MultipartFile[] file, HttpServletResponse response ) throws IOException {



    for (int i = 0; i < file.length; i++) {
        File uplFile = new File(file[i].getOriginalFilename());
        uplFile.createNewFile();
        FileOutputStream fos = new FileOutputStream(uplFile);
        fos.write(file[i].getBytes());
        fos.close();

        System.out.println("Splitting File: " + uplFile.getName());
        uploadHelper Help = new uploadHelper();

        ArrayList<String> filestrings = new ArrayList<String>();
        filestrings = uplHelp.GetSplitFiles(uplFile);


        ByteArrayOutputStream out = new ByteArrayOutputStream();
        BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(out);
        ZipOutputStream zipOutputStream = new ZipOutputStream(bufferedOutputStream);


        StringBuilder sb = new StringBuilder();
        int filenumber = 0;
        for (String filedata : filestrings) {
            filenumber = filenumber + 1;
            sb.append(filedata);
            ZipEntry e = new ZipEntry("file_" + filenumber + ".data");
            zipOutputStream.putNextEntry(e);

            byte[] data = sb.toString().getBytes();
            zipOutputStream.write(data, 0, data.length);
            zipOutputStream.closeEntry();


        }
        System.out.println("Splitting File - Split " + filestrings.size() + " files");

        if (zipOutputStream != null) {
            zipOutputStream.finish();
            zipOutputStream.flush();
            IOUtils.closeQuietly(zipOutputStream);
        }
        IOUtils.closeQuietly(bufferedOutputStream);
        IOUtils.closeQuietly(out);
        InputStream is = new ByteArrayInputStream(out.toByteArray());
        response.setStatus(HttpServletResponse.SC_OK);
        response.addHeader("Content-Disposition", "attachment; filename=test.zip");
        response.setCharacterEncoding("gzip");
        org.apache.commons.io.IOUtils.copy(is, response.getOutputStream());
        response.flushBuffer();


    }
    response.setStatus(HttpServletResponse.SC_ACCEPTED);
    response.flushBuffer();


}
@RequestMapping(value=“/splitFile”,headers=(“content type=multipart/*”),products=“application/zip”,method=RequestMethod.POST)
public void SplitFile(@RequestParam(value=“file”,required=true)MultipartFile[]file,HttpServletResponse)引发IOException{
for(int i=0;i
为什么使用
response.setStatus(HttpServletResponse.SC\u BAD\u请求)?抱歉,输入错误已更新