如何在ajax提交表单上获取输入类型文件 - 尝试在IE 9中获取上传文件的URL

时间:2016-01-08 09:55:38

标签: javascript ajax file servlets apache-commons-fileupload

我有下面的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();
        }

0 个答案:

没有答案