首页 理论教育 Java服务端研发知识图谱-文件上传-FastDFS实现

Java服务端研发知识图谱-文件上传-FastDFS实现

时间:2023-11-22 理论教育 版权反馈
【摘要】:图14-1 上传页面为了方便接收前端传递过来的参数,创建一个model类FileInfoModel,具体如下:上传功能实现FastDFS的上传功能主要通过TrackerClient实现,在上一节的工具类FastDFSClientUtils中添加uploadFile方法,实现文件的上传功能,具体如下:uploadFile方法有两个参数,第一个参数FileInfoModel,是自定义的model类,用于承接前端传递过来的数据,第二个参数Map<String,String>用来存放扩展属性相关的数据,以key- value对的方式存放在存储服务器上的同名文件中。图14-2 上传成功页面本节实现了FastDFS的文件上传功能。

Java服务端研发知识图谱-文件上传-FastDFS实现

本节通过页面上传一个文件,来演示FastDFS如何保存文件。

(1)上传页面

新建一个上传页面uploadfile.html,用来与用户进行交互,具体如下:

978-7-111-61011-3-Part03-103.jpg

978-7-111-61011-3-Part03-104.jpg

新建一个Controller类FastdfsController,通过index方法定位到uploadfile.html页面,具体如下:

978-7-111-61011-3-Part03-105.jpg

启动服务后,访问路径http://localhost:18095/uploadpage,就能直接跳转到上传页面,如图14-1所示。

978-7-111-61011-3-Part03-106.jpg

图14-1 上传页面

为了方便接收前端传递过来的参数,创建一个model类FileInfoModel,具体如下:

978-7-111-61011-3-Part03-107.jpg

(2)上传功能实现

FastDFS的上传功能主要通过TrackerClient实现,在上一节的工具类FastDFSClientUtils中添加uploadFile方法,实现文件的上传功能,具体如下:(www.xing528.com)

978-7-111-61011-3-Part03-108.jpg

uploadFile方法有两个参数,第一个参数FileInfoModel,是自定义的model类,用于承接前端传递过来的数据,第二个参数Map<String,String>用来存放扩展属性相关的数据,以key- value对的方式存放在存储服务器(storage)上的同名文件中。

接下来在FastdfsController类中实现一个接收前端上传请求的方法fileUploadAction,具体如下:

978-7-111-61011-3-Part03-109.jpg

978-7-111-61011-3-Part03-110.jpg

在上面的代码中,通过用户传递过来的MultipartFile类实例读取文件流,然后通过FastDFSClientUtils工具类的uploadFile方法进行文件上传,返回给前端文件在FastDFS中的存放文件名。

为了观察FastDFS是否上传成功,新建页面uploadStatus.html。文件上传后页面重定向到uploadStatus.html,在重定向页面进行相关下载路径、组名、文件名等数据展示,具体如下:

978-7-111-61011-3-Part03-111.jpg

978-7-111-61011-3-Part03-112.jpg

启动项目,访问http://localhost:18095/uploadpage,上传一张图片,效果如图14-2所示。

978-7-111-61011-3-Part03-113.jpg

图14-2 上传成功页面

本节实现了FastDFS的文件上传功能。同时也返回给前端一个完整的url路径,可直接复制到浏览器中查看文件。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈