在说文件上传之前,我想先说一下上传文件的思路,首先文件是以流的形式上传的,但是我们的数据库是没法保存这么大的流数据的,因此我们的思路就是,将这个流保存至本地的某个目录中,然后把这个目录的路径保存至数据库。
接下来就可以聊聊spring中怎样把文件写入本地目录,Multipartfile工具类用于实现这个需求,在文件上传的控制器中可以通过注解的方式引入该工具类,并且注入上传的类型
然后通过Multipartfile的transferTo方法可以讲文件写入本地的tomcat目录下的webapps文件夹,如此便能在前端通过8080端口获取到上传到该目录的文件了
但是,在我本次进行的项目中,我后端使用的是8888端口,而且我的tomcat环境本身没有配置这就导致我的前端无法访问到8080端口,进而就会出现只能上传图片无法读取图片的情况。
于是我想到了另外一个办法,通过DiskFileItemFactory工厂类将文件临时存储起来
以一个相对较笨的方法暂时实现了文件上传