- 我在调度程序 servlet 中配置了一个多部分解析器。st项目
- 我希望结果反映在特定的 div 中。
- 我使用 ajax 实现了获取特定 div 响应的动机,但我的图像文件没有到达控制器,因此出现图像上传返回 null的错误。
- 图像文件无法到达控制器并返回 null。
- 我希望我的图像文件应该被控制器接收。并且响应应该在一个名为“harryPAGE”的div上
我的jsp表单页面是
<form:form method="post" modelAttribute="uploadBean"
action="url"//this action takes to controller with request mapping as "hello"
commandName="uploadBean">
<table class="standardTable">
<tr>
<td>File</td>
<td><input type="file" name="fileData" id="fileData" size="50"
required="required"></td>
</tr>
<tr>
<td colspan=2 align="left"><input
class="btn right breadPrevious" type="submit" value="Upload"
/></td>
</tr>
</table>
<script>
$.ajax({
cache: false,
contentType: false,
processData: false,
type: 'POST',
});
$("form").submit(
function() {
alert("hi");
var value = $("#fileData");
alert(value);
$.post($(this).attr("action"), $(this).serialize(),
function(html) {
$("#harryPAGE").html(html);
});
return false; // prevent normal submit
});
</script>
<c:out value="${message}"></c:out>
</form:form>
我的控制器类是
@RequestMapping(value = "/hello", method = RequestMethod.POST)
public ModelAndView uploadImage(@ModelAttribute ImageUploadBean uploadBean,HttpServletRequest req) {
int test=5;
ModelAndView modelAndView = new ModelAndView("apage");
try {
System.out.println(req.getParameter("fileData"));
MultipartFile imgFile = uploadBean.getFileData();
test=imageService.uploadImage(imgFile);
if(test==1){
modelAndView.addObject("message","some message"); }
else if(test==0){
modelAndView.addObject("message","some message"); }
} catch (Exception e) {//the control enters here and gives exception
logger.error("Unable to upload image " + e.getMessage(), e);
modelAndView.addObject("message","some error"); }
return modelAndView;
}
我的调度程序 servlet .xml 文件是我配置了多部分解析器
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- one of the properties available; the maximum file size in bytes -->
<property name="maxUploadSize" value="100000000"/>
</bean>