本节通过页面上传一个文件,来演示FastDFS如何保存文件。
(1)上传页面
新建一个上传页面uploadfile.html,用来与用户进行交互,具体如下:
新建一个Controller类FastdfsController,通过index方法定位到uploadfile.html页面,具体如下:
启动服务后,访问路径http://localhost:18095/uploadpage,就能直接跳转到上传页面,如图14-1所示。
图14-1 上传页面
为了方便接收前端传递过来的参数,创建一个model类FileInfoModel,具体如下:
(2)上传功能实现
FastDFS的上传功能主要通过TrackerClient实现,在上一节的工具类FastDFSClientUtils中添加uploadFile方法,实现文件的上传功能,具体如下:(www.xing528.com)
uploadFile方法有两个参数,第一个参数FileInfoModel,是自定义的model类,用于承接前端传递过来的数据,第二个参数Map<String,String>用来存放扩展属性相关的数据,以key- value对的方式存放在存储服务器(storage)上的同名文件中。
接下来在FastdfsController类中实现一个接收前端上传请求的方法fileUploadAction,具体如下:
在上面的代码中,通过用户传递过来的MultipartFile类实例读取文件流,然后通过FastDFSClientUtils工具类的uploadFile方法进行文件上传,返回给前端文件在FastDFS中的存放文件名。
为了观察FastDFS是否上传成功,新建页面uploadStatus.html。文件上传后页面重定向到uploadStatus.html,在重定向页面进行相关下载路径、组名、文件名等数据展示,具体如下:
启动项目,访问http://localhost:18095/uploadpage,上传一张图片,效果如图14-2所示。
图14-2 上传成功页面
本节实现了FastDFS的文件上传功能。同时也返回给前端一个完整的url路径,可直接复制到浏览器中查看文件。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。