要获取HttpServletRequest中的multipart/form-data请求中file的文件名称,可以使用以下代码:\n\njava\nimport org.apache.commons.fileupload.FileItem;\nimport org.apache.commons.fileupload.FileItemFactory;\nimport org.apache.commons.fileupload.disk.DiskFileItemFactory;\nimport org.apache.commons.fileupload.servlet.ServletFileUpload;\n\nimport javax.servlet.ServletException;\nimport javax.servlet.http.HttpServlet;\nimport javax.servlet.http.HttpServletRequest;\nimport javax.servlet.http.HttpServletResponse;\nimport java.io.File;\nimport java.io.IOException;\nimport java.util.Iterator;\nimport java.util.List;\n\npublic class UploadServlet extends HttpServlet {\n\n protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {\n boolean isMultipart = ServletFileUpload.isMultipartContent(request);\n\n if (isMultipart) {\n FileItemFactory factory = new DiskFileItemFactory();\n ServletFileUpload upload = new ServletFileUpload(factory);\n\n try {\n List<FileItem> items = upload.parseRequest(request);\n\n Iterator<FileItem> iter = items.iterator();\n while (iter.hasNext()) {\n FileItem item = iter.next();\n\n if (!item.isFormField() && item.getFieldName().equals("file")) {\n String fileName = new File(item.getName()).getName();\n // 打印文件名称\n System.out.println(fileName);\n // ... 其他操作\n }\n }\n } catch (Exception e) {\n e.printStackTrace();\n }\n }\n }\n}\n\n\n上述代码使用的是Apache Commons FileUpload库来处理multipart/form-data请求。首先,我们检查请求是否为multipart/form-data类型。然后,创建FileItemFactory和ServletFileUpload对象。接下来,通过调用upload.parseRequest(request)方法来解析请求并获取文件项列表。然后,我们迭代遍历文件项列表,检查每个文件项是否为文件类型且有指定的字段名称(这里假设字段名称为"file")。如果满足条件,我们可以通过调用item.getName()方法来获取文件的完整路径,再通过创建File对象并调用getName()方法来获取文件名。最后,我们可以根据需要对文件进行进一步操作。

Java HttpServletRequest multipart/form-data 获取文件名称 - 使用 Apache Commons FileUpload

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

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