首先,在tomcat安装文件夹之外的服务器中创建一个文件夹,例如/ opt / myuser / files / upload.然后,在属性文件或web.xml中将此路径配置为Servlet init配置,以使其可用于您拥有的任何Web应用程序.
如果使用属性文件:
file.upload.path = /opt/myuser/files/upload
如果是web.xml:
MyServlet
your.package.MyServlet
FILE_UPLOAD_PATH
/opt/myuser/files/upload
或者,如果您使用的是Servlet 3.0规范,则可以使用@WebInitParam注释配置init参数:
@WebServlet(name="MyServlet", urlPatterns = {"/MyServlet"},
initParams = {
@WebInitParam(name = "FILE_UPLOAD_PATH", value = "/opt/myuser/files/upload")
})
public class MyServlet extends HttpServlet {
private String fileUploadPath;
public void init(ServletConfig config) {
fileUploadPath = config.getInitParameter("FILE_UPLOAD_PATH");
}
//use fileUploadPath accordingly
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException) {
String fileName = ...; //retrieve it as you're doing it now
//using File(String parent, String name) constructor
//leave the JDK resolve the paths for you
File uploadedFile = new File(fileUploadPath, fileName);
//complete your work here...
}
}