在项目中做文件上传的时候,遇到了文件拒绝访问的异常,
原始代码如下:String filePath = request.getSession().getServletContext().getRealPath("/") + "/doc/" + tb.getId() + ""; File dir = new File(filePath, myfile.getOriginalFilename()); if (!dir.exists()) { dir.mkdirs(); } // 文件写入磁盘 myfile.transferTo(dir);
经检查,发现没有创建父级目录,修改后代码:
String filePath = request.getSession().getServletContext().getRealPath("/") + "/doc/" + tb.getId() + "";
File dir = new File(filePath, myfile.getOriginalFilename());
if (!dir.getParentFile().exists()) {
dir.getParentFile().mkdirs();
dir.createNewFile();
}
// 文件写入磁盘
myfile.transferTo(dir);
指定具体的父级目录路径就可以了。