Java 上载文件时,所需的MultipartFile参数“file”不存在
我正在尝试上载文件,但获得的是所需的MultipartFile参数“file”不存在400错误请求org.springframework.web.bind.MissingServletRequestParameterException 我的代码在这里:Java 上载文件时,所需的MultipartFile参数“file”不存在,java,jquery,spring-boot,jboss,Java,Jquery,Spring Boot,Jboss,我正在尝试上载文件,但获得的是所需的MultipartFile参数“file”不存在400错误请求org.springframework.web.bind.MissingServletRequestParameterException 我的代码在这里: <form id="uploadrecords" method="post" enctype="multipart/form-data"> <div class="col-md-12"
<form id="uploadrecords" method="post" enctype="multipart/form-data">
<div class="col-md-12">
<div class="form-group" style="margin-top: 11px !important;">
<label for="uploadfile" class="col-md-4 control-label"><span class="mandatory"></span>File to upload:</label>
<div class="col-md-6">
<input type="file" class="filestyle" data-buttonName="btn-primary" name="file" id="upload" accept="*"/>
</div>
</div>
<div class="form-actions" style="margin-top: 51px;margin-left: 358px;">
<button type="submit" class="btn btn-success" style="padding: 6px 12px;" id="upload" ><i class="fa fa-cloud-upload"></i> Upload</button>
<button type="button" class="btn btn-danger" style="padding: 6px 12px;" id="cancel" ><i class="fa fa-ban"></i> Cancel</button>
</div>
</div>
</form>
$("form#uploadrecords").submit(function(){
var formData = new FormData($(this)[0]);
$.ajax({
url : '/uploadfile',
type: 'POST',
data: formData,
async: false,
beforeSend: beforeSendHandler,
success: function (data) {
var msg=data.msg;
var obj=data.obj;
if(obj != 0){
$("#countfail").html(obj);
$("#download-modal").modal('show');
}else{
bootbox.alert(msg);
}
},
cache: false,
contentType: false,
processData: false
});
});
Java代码:
@RequestMapping(value = "/uploadfile", headers = "Content-Type=multipart/form-data", method = RequestMethod.POST)
public @ResponseBody StatusResponse upload( @RequestParam(value = "file") MultipartFile file, HttpServletRequest request,
HttpServletResponse response) throws IOException, NoSuchFieldException, SecurityException, ParseException {
StatusResponse sr = new StatusResponse();
System.out.println("filename::::" + file.getOriginalFilename());
//my logic here
return sr;
}
它没有击中控制器类。我在Firebug控制台中发现错误
我使用的是spring boot和jboss-eap-6.4
我的代码有什么问题。如何解决此问题?如果使用@EnableAutoConfiguration,则需要按照此处讨论的内容执行以下操作 @EnableAutoConfigurationexclude={MultipartAutoConfiguration.class} 定义以下bean @Beanname=multipartResolver public commons multipartResolver commons multipartResolver{commons multipartResolver resolver=new commons multipartResolver;resolver.setMaxUploadSize50*1024*1024;返回resolver;}
@Bean@Order0 public MultipartFilter MultipartFilter{MultipartFilter MultipartFilter=new MultipartFilter;MultipartFilter.setmultipartresolverbeannamemultippartresolver;return MultipartFilter;}您添加了Bean吗?@Manoj Suthar:添加到哪里?在webconfig或websecurity配置中?