我正在用DiskFileItemFactory上传文件。但文件不是用Java上传的

我正在用DiskFileItemFactory上传文件。但文件不是用Java上传的,java,servlets,Java,Servlets,我试图使用java web应用程序通过DiskFileItemFactory上传文件。但问题是它没有得到任何文件。它在迭代中显示空数组 iter.size()为0。 请参阅下面我的代码 public ModelAndView upload( ModelMap model, HttpSession session, HttpServletRequest request, HttpServletResponse resp) throws IOException, ServletException,

我试图使用java web应用程序通过
DiskFileItemFactory
上传文件。但问题是它没有得到任何文件。它在迭代中显示空数组

iter.size()
为0。 请参阅下面我的代码

public ModelAndView upload( ModelMap model, HttpSession session, HttpServletRequest request, HttpServletResponse resp) throws IOException, ServletException, FileUploadException {
if (ServletFileUpload.isMultipartContent(request)) {

    System.out.println("file available");
}

boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
    //  ResourceImpl resource = new ResourceImpl();
    try {
        //Create a factory for disk-based file items
        FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        List items = upload.parseRequest(request);
        System.out.println(items.size());
        Iterator iter = items.iterator();
        while (iter.hasNext()) {

            FileItem item = (FileItem) iter.next();
        }

    } catch (Exception e) {

    }
}
我的形式是


选择要上载的文件:


我做错了什么。 请帮帮我。
thanq.

你应该尝试每种方法。它做得很好

if (ServletFileUpload.isMultipartContent(request)) {

    try {
        List<FileItem> multipart = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);

        for (FileItem item : multipart) {

            if (!item.isFormField()) {

                filename = new File(item.getName()).getName();
                folder = "path";
                File file = new File(folder);

                if (!file.exists()) {
                    file.mkdir();

                }
            }

            item.write(new File(folder + "/" + filename));
        }
    }
}
if(ServletFileUpload.isMultipartContent(请求)){
试一试{
List multipart=new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
用于(文件项:多部分){
如果(!item.isFormField()){
filename=新文件(item.getName()).getName();
folder=“path”;
文件=新文件(文件夹);
如果(!file.exists()){
mkdir()文件;
}
}
写入(新文件(文件夹+“/”+文件名));
}
}
}

现在检查这里的问题,List items=upload.parseRequest(request)。显示0 siz。如果使用泛型类型(如
List items=upload.parseRequest(request))声明列表,是否有区别?顺便说一句,这是关于使用Servlet API上载文件的详细信息。。很小。我试过使用泛型类型。但它也显示了相同的结果。如果它是Spring MVC(代码中某个方法的返回类型
ModelAndView
),那么就有一个现成的方法来上传多部分内容。没有必要重复相同的代码。所以我必须做什么。。。。?