Java Servlet中的文件上传

时间:2016-09-20 10:46:53

标签: java servlets file-upload multipartform-data

我提到How to upload files to server using JSP/Servlet?指南,使用Servlet上传包含multipart / form-data的文件。

  1. 使用前

    @WebServlet( “/上传”)

    @MultipartConfig

  2. 注释我能够将文件上传到服务器但无法读取控制字段数据。现在我使用带有动作控件的Servlet的Annotations。

    问题是能够读取控制字段值,但文件没有上传到服务器。使用此片段

    FileItemFactory factory = new DiskFileItemFactory();
    //Create a new file upload handler
    ServletFileUpload upload = new ServletFileUpload(factory);
    File uploadedFile;
    //Parse the request
    List  items = upload.parseRequest(request);
    Iterator iterator = items.iterator();
    while (iterator.hasNext()) {
    }
    

    当我在上传文件时请求请求时,我将 itmes 大小设置为0(ZERO)。我的情况可能是什么问题?

    提前致谢!!

2 个答案:

答案 0 :(得分:0)

HTTP请求只能解析一次。因此,如果在upload.parseRequest()之前使用request.get<>()(request.getParameter(),request.getAttribute()),则无效。确保您的servlet中没有任何此类用法(也检查过滤器)

答案 1 :(得分:0)

<强>分辨!!

this使用 multipart / form-data 解析文件上传,并从JSP表单页面读取多个控制字段