Spring mvc 如何以“文件”格式发送文件;把「;方法,当HTML没有;把“放”进去;?

Spring mvc 如何以“文件”格式发送文件;把「;方法,当HTML没有;把“放”进去;?,spring-mvc,Spring Mvc,我有一个这样的控制器: @RequestMapping(value = "/user/", method = RequestMethod.PUT, produces = MediaType.APPLICATION_JSON_VALUE) public @ResponseBody UserLesserDTO createUser(@RequestParam("profileImage") MultipartFile file, @RequestBody UserDTO user) { Sy

我有一个这样的控制器:

@RequestMapping(value = "/user/", method = RequestMethod.PUT, produces = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody UserLesserDTO createUser(@RequestParam("profileImage") MultipartFile file, @RequestBody UserDTO user) {
    System.out.println("Creating User " + user.getName() );

    try {
        UserDTO userTest = userService.getUserByUsername( user.getName() );
        return new UserLesserDTO( userTest );
    } catch ( NoResultException e ) {
        //
    }
    return new UserLesserDTO( userService.addUser(user) );
}
以及创建用户的表单

此表单有一个名为
profileImage
输入类型文件


我的问题是:因为我不能在HTML中发送
PUT
方法,所以我必须将其作为Ajax请求发送,将所有表单属性转换为JSON对象,并将其作为
PUT
发送。但我也需要发送一份文件,我不知道如何继续

在HTML中没有所谓的PUT,也不可能。HTML只是一种标记语言,为了与服务器通信,您可以使用JavaScript的HTML形式(经过特殊处理)。您可以找到一些关于如何通过AJAX.Ok上传的有用信息。我知道我必须尊重PUT和POST方法的目的,但我也需要(爱)让事情保持简单。我只是创建了
/user/create/
/user/update/
映射,它们都接受
POST
。请不要怪我。@john我不是在说PUT tag。我说的是PUT-form方法。