我有一个Java WebApp,我需要在其中上传文件。根据我在互联网上发现的内容,以下是我的尝试:
public class FileUploadController extends HttpServlet {
private final String UPLOAD_DIRECTORY = "C:/uploads";
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Part filePart = request.getPart("file");
}
然而,IDE抱怨未定义的符号getPart
。所以我继续发现你至少需要Servlet API 3.0来获得这个方法,而我的项目只有Servlet API 2.5。我将pom.xml
文件中所需的API版本从2.5
更改为3.0-alpha-1
(由自动完成提议),并清理了项目。
但我仍然有关于getPart
不存在的错误。我错过了什么吗?
答案 0 :(得分:4)
在开发3.0版本的Servlet API期间,工件ID已在某处更改为javax.servlet-api。版本3.0-alpha-1是一个非常早期的预发行版,可能还没有getPart(String)
方法。
要获取Servlet API的当前3.0.x版本,请使用以下依赖项:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
</dependency>