NutzCN Logo
问答 我怎么获取项目的路径?
发布于 2632天前 作者 CC-Coder 2245 次浏览 复制 上一个帖子 下一个帖子
标签: nutzwk

https://nutz.cn/yvr/t/287sk2l6g8j6iqaptrl8qk6ent
我的问题是怎么获取到项目的路径(在java后台代码里),谢谢各位.

@At()
    @Ok("raw:xlsx")
    @RequiresPermissions("instrument.monitor.collect")
    public Object downLoad(HttpServletRequest request,HttpServletResponse response) throws UnsupportedEncodingException{
    	String filename = "collect.xlsx";
    	filename = new String(filename.getBytes("UTF-8"),"iso-8859-1");
    	// 告诉浏览器要下载文件,
    	response.setHeader("Content-Disposition", "attachment;filename="+filename);
    	// 告诉浏览器要下载文件而不是直接打开文件
    	response.setContentType("application/-download");
    	response.setCharacterEncoding("UTF-8");
    	
    	**File file = new File("E:\\"+filename);**
    	return file;
    }

上述代码现在我已经实现了文件的下载功能,但是 File file = new File("E:\"+filename);这个地方的路径是固定的我先把这个文件放到WEB-INF下面的一个文件夹
该怎么获取他的路径呢?
在社区找了一下,但是没有找到.
类似于servlet中这个方法:

//获取目标文件的绝对路径  
        String fullFileName = getServletContext().getRealPath("/download/" + filename);

谢谢~

3 回复

request.getServletContext()

基础不牢 地动山摇

第一种:
String appRoot = Globals.AppRoot + + "/WEB-INF/download/";
File file = new File(appRoot +filename);
第二种:
String contextPath = request.getServletContext().getRealPath("/WEB-INF/download/");
File file = new File(contextPath+filename);

两种都可以 3Q~

添加回复
请先登陆
回到顶部