ServletFileUpload.parseRequest()需要RequestContext而不是HttpServletRequest请求

时间:2013-09-28 09:00:10

标签: java servlets

我正在编写一个Web应用程序,我想将文件上传到servlet。 我读到我可以使用ServletFileUpload.parseRequest(请求) 它适用于一台计算机。 但是当我尝试在另一台计算机上运行代码时,我得到一个错误,该函数需要RequestContext:ServletFileUpload.parseRequest(RequestContext)

在函数与HttpServletRequest一起使用的计算机上的

我看到了RequestContext的函数。但我不使用它

还有另一种将文件上传到servlet的方法吗?

3 个答案:

答案 0 :(得分:4)

你可以尝试:

new ServletFileUpload().parseRequest(new ServletRequestContext(request));

此更改适用于最新的apache tomcat(至少在7.0.70,我正在使用)。

答案 1 :(得分:0)

您是否考虑过使用实现Servlet 3.0的容器(例如Tomcat 7+)?该版本的规范已经存在了几年,并且已经添加了用于上传文件的API。

http://docs.oracle.com/javaee/6/tutorial/doc/glrbb.html

答案 2 :(得分:0)

确保两个环境都具有相同的Apache fileupload jar。我正在使用commons-fileupload-1.2.2并且它有两种方法

ServletFileUpload.parseRequest(HttpServletRequest请求)和ServletFileUpload.parseRequest(RequestContext context)