FastDFS文件服务器需要提前安装好(可以查看我的环境安装教程)。
fastdfs通常情况下可以做两种功能,一种是图片上传,一种是文件管理。不过图片和文件的大小强烈建议不要超过500M。
文件上传成功后,可以得到一个http协议的文件地址,通过这个地址可以读取和下载文件,也可以根据地址删除文件,这样配合数据库可以实现一个简单通用的文件管理系统。
下面开始创建项目,首先添加依赖:

上面使用的是一个fastdfs的starter依赖,自动配置内容多些,使用简单。
下面看配置文件的内容:

真正和fastdfs依赖相关的只配置了三个参数,最简单的情况可以只配置一个上传地址,如果list有多个,用逗号隔开表示集群。
所有的配置已经完成 ,接下来看功能代码,在fastdfs的依赖中,封装好了一个bean

来看最简单的新增和删除操作:

接下来是Controller层调用:

调用方法也非常简单,上面有一个方法涉及到上传页面,下面写一个简单的页面:

基本的编码已经完成了,可以看到使用springboot整合fastdfs首先文件管理是非常简单的,也是各个教程推荐的做法。下面进行测试,启动项目,进入上传页面:

点击选择文件,选择一张图片,然后点击提交,跳转返回了文件信息:

上面显示了上传成功!
复制上面的httpUrl,粘贴到浏览器查看:

可以看到文件链接也是成功的,下面测试删除功能:

注意上面的路径一定是最少带有group的路径。删除以后,打开一个新的浏览器页面(注意原理的还有缓存),查看图片是否还在:

可以看到删除成功了!
springboot整合实现上传下载和管理并不难,难点是fastdfs的搭建和管理,再配合数据库,可以实现一个文件管理系统,非常适合公司内部使用。
代码地址: https://gitee.com/blueses/spring-boot-demo
网友评论