如何使用Apache Commons读取多部分表单中的其他参数

pka*_*ing 4 java multipartform-data apache-commons

我有一个文件上传表单,正在回发给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 ...
    }
Run Code Online (Sandbox Code Playgroud)

sti*_*ian 9

你可以尝试这样的事情:

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
            }
        }

    }
Run Code Online (Sandbox Code Playgroud)