1.文件上传需要的配置jar包 commons-io、commons-fileupload
2.在spring文件中配置bean.xml ,bean的id一定问multipartResolver
3.文件上传需修改form表单 添加enctype="multipart/form-data" 使用post方式
4.表单中的file 的name要与dto中的属性一致


5.提交表单
6.后台获取前台表单
6.1.获取到上传文件的名称 系统时间+文件名
6.2.构造一个file对象,上传到本地服务其的路径

6.3判断文件夹是否存在,如不存在则创建一个文件夹
6.44.将文件上传到服务器,将文件名保存到数据库


7 文件删除
删除时不仅仅要删除数据库中的数据,还要将保存到服务器的文件删除
首先要明白一点:保存到服务器的文件和保存到数据库的文件,是这样的 服务器:路径:文件夹路径+文件名 数据库:文件名
所以要想删除掉服务器的文件,要先根据id查询到数据库中对应的文件名,文件夹的路径是我们配置好的,有了文件对应的路径后,然后根据路径创建File对象,直接调用delete方法即可删除保存在服务器的文件。实现代码如下:

8.在update修改操作时,要清楚的是需要服务器中文件的操作是:先删除图片,在添加。
具体操作代码:

我们可以对添加和删除操作进行封装,可以减少重复代码,如上图的save、delete方法都是封封装后的;封装如下:



网友评论