有 Java 编程相关的问题?

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

javascript处理程序执行导致异常:所需的MultipartFile参数“file”不存在

我的控制器代码:

@RequestMapping(value = "/rest/auth/admin/test/responseTest", method = RequestMethod.POST)
@ResponseBody
public ResponseEntity<ResponseVO> responseTest(@RequestParam("file") MultipartFile file,
        @RequestParam(value = "testId", required = true) long testId) {

我已经将multipartresolverbean添加到我的应用程序上下文中。xml

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />

我的javascript代码:

var fd = new FormData();
fd.append('file', $('input[type=file]')[0].files[0]);
fd.append("label", "WEBUPLOAD");
var headers = {};
headers[Constants.XCSRFTOKENCookieName] = util.getCookie(Constants.XCSRFTOKENCookieName);
var url = "rest/auth/admin/test/responseTest?responseTest=123";
var dataType = "json";
var contentType = "application/json";
$.ajax({
    url: url,
    type: "POST",
    data: fd,
    dataType: dataType,
    async: isAsync,
    headers: headers,
    enctype: contentType,
    processData: false, // tell jQuery not to process the data
    contentType: false, // tell jQuery not to set contentType
    success: function(result, status, jqXHR) {
        resultObj = result;
        if (successCallBack != null) {
            successCallBack(resultObj);
        }
        //util.hideLoader();
    },
    error: function(jqXHR, textStatus, errorThrown) {
        console.log("Error : " + errorThrown);
        resultObj = jqXHR.responseJSON;
        if (errorCallBack != null) {
            errorCallBack(resultObj);
        }
        //util.hideLoader();
    }
});

当我调用上述Ajax时,我在服务器端遇到以下错误

[org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver] > logException() : 186 - Handler execution resulted in exception: Required MultipartFile parameter 'file' is not present

请帮我解决这个问题


共 (1) 个答案

  1. # 1 楼答案

    我本以为它的contentType头应该是multipart/form data,而不是application/json