我有下面的ajax脚本,在servlet中我试图读取File上传但我在servlet中收到以下错误
请求被拒绝,因为没有找到多部分边界 以下是我的代码
$("#form").submit(function(e){
$.ajax({
type : 'POST', // GET or POST or PUT or DELETE
url : "myServlet",
data:$('#fomr').serialize(),
contentType:"multipart/form-data",
success : function(data) {// On Successfull
},
error : function(msg) {// When Service call
}
});
});
以下是表格
<form id="fomr" >
<input name="file1" id="file1" type="file" accept="image/*" >
</form>
以下是servlet代码
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
try {
List<FileItem> fields = upload.parseRequest(request);
log.info("Number of fields: " + fields.size() + "<br/><br/>");
Iterator<FileItem> it = fields.iterator();
if (!it.hasNext()) {
log.info("No fields found");
return;
}
while (it.hasNext()) {
FileItem fileItem = it.next();
boolean isFormField = fileItem.isFormField();
if (isFormField) {
log.info("<td>regular form field</td><td>FIELD NAME: " + fileItem.getFieldName() +
"<br/>STRING: " + fileItem.getString()
);
log.info("</td>");
} else {
log.info("<td>file form field</td><td>FIELD NAME: " + fileItem.getFieldName() +
"<br/>STRING: " + fileItem.getString() +
"<br/>NAME: " + fileItem.getName() +
"<br/>CONTENT TYPE: " + fileItem.getContentType() +
"<br/>SIZE (BYTES): " + fileItem.getSize() +
"<br/>TO STRING: " + fileItem.toString()
);
}
}
} catch (FileUploadException e) {
log.error("Error {}",e);
e.printStackTrace();
}