我正在寻找如何将图像添加到表单然后我发现 These codes 。在集成此代码时,我失败了,因为提交表单时,表单中还有其他字段要发布。
那么您能否帮助我将一个字段 Lastname 与文件一起发布,并展示如何使用相同的方法获取它(servlet 中用于获取姓氏的代码块) servlet。
最佳答案
您正在混合 Apache Commons FileUpload 和 Servlet 3.0 @MultipartConfig
。这两种是完全不同的解析 multipart/form-data
请求的方式。一个 HTTP 请求只能被解析一次。因此,如果这两种方式之一已经事先解析了它,另一种方式将无法再解析它并最终得到 null/空数据。
您应该使用一种或另一种方式来解析请求,而不是同时使用两种方式。在 Servlet 3.0 推出(2009 年 12 月)之前,Apache Commons FileUpload 是解析 multipart/form-data
请求的“事实上的”标准。但从 Servlet 3.0 开始,出现了新的 @MultipartConfig
注释和新的 request.getPart()
方法,这使得 Apache Commons FileUpload 变得多余。
使用 Apache Commons FileUpload 时,您应该删除 Servlet 3.0 @MultipartConfig
和所有 request.getParameter()
行并提取“改为来自 List items
的常规“请求参数。
使用 Servlet 3.0 @MultipartConfig
时,您应该删除所有与 Apache Commons FileUpload 相关的代码,并使用 request.getPart()
来代替获取上传的文件。
另请参阅:
关于java - 想要添加表单字段并在servlet中获取它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11884708/