要获取 multipart/form-data 请求中的所有参数值,您可以使用 HttpServletRequest 的 getParts() 方法来获取请求中的所有部分(包括文件和参数)。然后,您可以遍历所有部分,并使用 Part 的 getInputStream() 方法来读取参数值。

以下是一个示例代码:

import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
import java.io.IOException;
import java.io.InputStream;

@WebServlet("/upload")
@MultipartConfig
public class UploadServlet extends HttpServlet {

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 获取所有部分(包括文件和参数)
        for (Part part : request.getParts()) {
            // 检查是否为参数部分
            if (part.getContentType() == null) {
                // 获取参数值
                InputStream inputStream = part.getInputStream();
                String value = new String(inputStream.readAllBytes());
                System.out.println('参数值:' + value);
            }
        }
    }
}

在上面的代码中,我们使用 getParts() 方法获取请求中的所有部分。然后,我们通过检查 part 的 contentType 是否为空来确定是否为参数部分。如果是参数部分,我们可以使用 part.getInputStream() 方法获取参数值的输入流,并将其读取为字符串。

请注意,上面的示例代码使用了 @WebServlet 和 @MultipartConfig 注解,这些注解可以帮助您配置 servlet 以处理 multipart/form-data 请求。

HttpServletRequest 获取 multipart/form-data 请求所有参数值

原文地址: https://www.cveoy.top/t/topic/quG7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录