String filePath = "/user/local";
File excelFile = new File(filePath);
multipartFile.transferTo(excelFile);
在linux服务器中使用没有任何问题,但是在本地Windows中就会一直报空指针的异常
调试发现,文件路径不加磁盘符 D:\ ,会认为你这是相对路径(window情况),然后会去读取一个临时文件目录,没有配置,所以抛了一个空指针
就是这个配置
spring.servlet.multipart.location
但是神奇的事情发生了,这个位置也需要加上磁盘符,如果不加也会认为是一个相对路径,启动的时候再一次空指针,跪了
解决办法:
File excelFile = new File(filePath);
FileUtils.copyInputStreamToFile(multipartFile.getInputStream(), excelFile);
或者
multipartFile.transferTo(excelFile.getAbsoluteFile());