在使用Spring Boot 的MultipartFile进行上传文件的时候,在windows上测试的没有问题,结果部署到linux上,查看了日志,根本没有任何异常,但是吧,指定的目录根本没有上传后的文件,而且返回值完全正常,符合预期,很是想不明白。
关键就是docker容器是无法直接访问宿主机的目录的,需要进行映射才行,之前部署nginx的时候,就遇到了这个问题,怎么这次完全没想到呢?在docker run 的时候,使用 -v 宿主机目录:docker容器内目录
进行目录映射
docker run --name cloud-music -d -p 8989:8989 -v /home/data:/home/data cloud-music
即可将宿主机的目录与docker容器内的目录进行映射,再次运行spring boot 程序后,上传文件到/home/data/
下即可宿主机看到上传的文件