本文共 1129 字,大约阅读时间需要 3 分钟。
在上传文件时,要保存到指定目录下,需要创建文件夹,系统报错如下:
严重: Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exceptionjava.io.FileNotFoundException: G:\imooc-video-dev\181130B8D8W2RZTC\face\wx4bbcf43ad291af30.o6zAJs-zKILn2bkbA5rB9Tt0zios.H8pujQaHIdPv187fb9b352dece94f6d9218fc3ecca42.png (系统找不到指定的路径。) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.(FileOutputStream.java:206) at java.io.FileOutputStream. (FileOutputStream.java:156) at com.imooc.controller.UserController.uploadFace(UserController.java:60) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
看到报错就知道是我在创建文件夹时,报错了。代码如下:
File outFile = new File(finalFacePath); //判断outFile文件的父类文件不为null ,并且不是文件夹 if (outFile.getParentFile() !=null || !outFile.getParentFile().isDirectory()) { //创建父文件夹 outFile.getParentFile().mkdir(); }
原因是因为mkdir()方法,只有在父类文件夹存在的情况下,才会创建文件夹。
这里改为mkdirs() 方法,如果父类文件夹不存在,就会自动创建,如果存在,就会创建子文件夹。并创建路径上的文件夹。
转载地址:http://njfoi.baihongyu.com/