【问题标题】:File Uploading in Java Servlet [duplicate]Java Servlet中的文件上传[重复]
【发布时间】:2017-01-28 06:14:47
【问题描述】:

我参考了How to upload files to server using JSP/Servlet? 指南来使用 Servlet 上传带有 multipart/form-data 的文件。

  1. 使用前

    @WebServlet("/upload")

    @MultipartConfig

注释 我可以将文件上传到服务器,但无法读取控制字段数据。现在,我将 Annotations 与带有动作控件的 Servlet 一起使用。

问题能够读取控制字段值,但文件没有上传到服务器。用过这个sn-ps

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(零)。我的情况可能是什么问题?

提前致谢!!

【问题讨论】:

    标签: java servlets file-upload multipartform-data


    【解决方案1】:

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

    【讨论】:

    • 但在我的情况下,我需要使用request.getParameter() 在文件上传之前或之后获取控制字段值。我需要上传文件以及获取控制字段值吗?意味着我不能同时使用相同的 request 对象执行这两个功能?
    • 我可以得到任何解决方案来执行这两个操作吗?
    【解决方案2】:

    已解决!!

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-14
      • 1970-01-01
      • 2011-01-12
      • 2014-03-21
      • 1970-01-01
      相关资源
      最近更新 更多