HttpServletRequest 获取 multipart/form-data 请求参数 - Java Servlet 示例
要获取 "multipart/form-data" 请求中的全部参数值,可以使用 HttpServletRequest 的 getPart() 和 getParts() 方法来获取 "multipart/form-data" 请求中的各个部分,并通过 Part 对象的 getInputStream() 和 getContentType() 方法获取参数值。\n\n以下是一个示例代码:\n\njava\nimport javax.servlet.ServletException;\nimport javax.servlet.annotation.MultipartConfig;\nimport javax.servlet.annotation.WebServlet;\nimport javax.servlet.http.HttpServlet;\nimport javax.servlet.http.HttpServletRequest;\nimport javax.servlet.http.HttpServletResponse;\nimport javax.servlet.http.Part;\nimport java.io.IOException;\nimport java.io.InputStream;\nimport java.util.Collection;\n\n@WebServlet("/multipart")\n@MultipartConfig\npublic class MultipartServlet extends HttpServlet {\n\n @Override\n protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {\n Collection<Part> parts = request.getParts();\n for (Part part : parts) {\n if (part.getContentType() != null) {\n // 如果是文件类型\n String fileName = part.getSubmittedFileName();\n InputStream fileContent = part.getInputStream();\n // 处理文件\n } else {\n // 如果是普通文本类型\n String paramName = part.getName();\n InputStream paramValue = part.getInputStream();\n // 处理普通参数\n }\n }\n }\n}\n\n\n在上述代码中,通过调用 HttpServletRequest 的 getParts() 方法可以获取 "multipart/form-data" 请求中的所有部分,然后遍历每个 Part 对象。如果 Part 对象的 getContentType() 方法返回非空,表示该部分是文件类型,可以通过 getSubmittedFileName() 方法获取文件名,通过 getInputStream() 方法获取文件内容。如果 Part 对象的 getContentType() 方法返回空,表示该部分是普通文本类型,可以通过 getName() 方法获取参数名,通过 getInputStream() 方法获取参数值。根据需要可以进一步处理文件或普通参数的内容。
原文地址: https://www.cveoy.top/t/topic/quHh 著作权归作者所有。请勿转载和采集!