有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用post方法将文件上传到spring mvc RestController

我有以下控制器:

@RequestMapping(value = "/uploadCert", method = RequestMethod.POST)
@ResponseBody
public String uploadCert( @RequestParam(value = "file", required = false) List<MultipartFile> files){

        for (MultipartFile file : files) {
            String path = "tempFolder";
            File targetFile = new File(path);
            try {
                FileUtils.copyInputStreamToFile(file.getInputStream(), targetFile);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return "done";
    }

通过以下单元测试进行测试:

@Test
    public void uploadCertFile() throws Exception {
        //given

        MockMultipartFile file = new MockMultipartFile("file", "test.txt",  "text/plain", "bar".getBytes());

        MockHttpServletRequestBuilder request = MockMvcRequestBuilders.fileUpload("/uploadCert").file(file);

        System.out.println(request);
        //when
        ResultActions resultActions = mockMvc.perform(request);

        //then
        MvcResult mvcResult = resultActions.andReturn();
        assertEquals(200, mvcResult.getResponse().getStatus());
        File savedFile = new File("./test.txt");
        assertTrue(savedFile.exists());
        savedFile.delete();
    }

它工作得很好,我有另一个java代码的服务器,需要将文件上传到上面的控制器中。我试图在代码中使用MockMVCrequesMapping的并行功能,但找不到它,我应该使用insted从java代码发送这个web请求吗


共 (0) 个答案