当我们项目发在服务器时,想去操作该目录下的文件怎么办?
我们在开发的过程中肯定少不了就文件的操作,例如:文件下载、图片获取,视频获取等等,那么我们怎么才能精准的拿到文件呢?
一、以war包形式发布在Tomcat上,我们可以使用下面语句可以获取到项目部署的路径
//项目磁盘路径
String realPath = request.getSession().getServletContext().getRealPath("/");
同时Tomcat运行后webapp下的文件也会自动部署到此目录下
二、以jar包形式发布服务器上,因为我们无法操作jar包内容,所以我们只能将文件存放在别的位置,这里我选择与jar包同级的目录。
public static final String basePath = "/resource/Admin/";
我们在项目中可以直接通过路径去获取,如
File file = new File(basePath + "icon/" + iconName);
这样就和我们在本地写的一样了。
不过不要忘记开放静态资源的位置哦
spring:
#静态资源位置
resources:
static-locations: classpath:resource/,file:resource/