我有一个文件上传表单,该表单被发布回servlet(使用multipart / form-data编码)。在servlet中,我试图使用Apache Commons处理上传。但是,我还有一些其他形式的字段,它们只是纯字段。如何从请求中读取这些参数?

例如,在我的servlet中,我有这样的代码可以在更新的文件中读取:

    // Create a factory for disk-based file items
    FileItemFactory factory = new DiskFileItemFactory();
    // Create a new file upload handler
    ServletFileUpload upload = new ServletFileUpload(factory);
    // Parse the request
    Iterator /* FileItem */ items = upload.parseRequest(request).iterator();
    while (items.hasNext()) {
        FileItem thisItem = (FileItem) items.next();
        ... do stuff ...
    }

最佳答案

您可以尝试这样的事情:

while (items.hasNext()) {
        FileItem thisItem = (FileItem) items.next();
        if (thisItem.isFormField()) {
            if (thisItem.getFieldName().equals("somefieldname") {
                String value = thisItem.getString();
                // Do something with the value
            }
        }

    }

08-17 18:06