java 分布式文件上传_SpringBoot结合分布式文件系统FastDFS实现文件上传功能

本文介绍了如何使用SpringBoot结合FastDFS实现文件上传功能。FastDFS是一个高性能的分布式文件系统,适用于中小文件存储。文章详细讲解了FastDFS的系统架构,并提供了SpringBoot项目的配置、FastDFS客户端配置及部分关键代码,包括文件上传、下载、删除等操作。
摘要由CSDN通过智能技术生成

一、FastDFS文件系统简介

搭建FastDFS:

参考地址:

FastDFS 是一个开源的高性能分布式文件系统(DFS)。 它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡。主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。

FastDFS 系统有三个角色:跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)。

Tracker Server:跟踪服务器,主要做调度工作,起到均衡的作用;负责管理所有的 storage server和 group,每个 storage 在启动后会连接 Tracker,告知自己所属 group 等信息,并保持周期性心跳。

Storage Server:存储服务器,主要提供容量和备份服务;以 group 为单位,每个 group 内可以有多台 storage server,数据互为备份。

Client:客户端,上传下载数据的服务器,也就是我们自己的项目所部署在的服务器。

更多关于FastDFS系统的相关知识,请自行查阅。

二、SpringBoot结合FastDFS实现文件上传功能

(1)项目工程目录结构

AAffA0nNPuCLAAAAAElFTkSuQmCC

(2)项目pom.xml配置

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-thymeleaf

org.springframework.boot

spring-boot-devtools

true

com.github.tobato

fastdfs-client

1.26.1-RELEASE

org.projectlombok

lombok

true

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot

spring-boot

2.1.1.RELEASE

(3)FDS配置文件: fdfs_client.conf:

#以下为你搭建的FastDFS系统的配置信息,请自行修改

connect_timeout = 60

network_timeout = 60

charset = UTF-8

http.tracker_http_port = 8080

http.anti_steal_token = no

http.secret_key = 123456

tracker_server = 127.0.0.1:22122

(4)项目部分代码

后台:

(a)FasfDFSClient.java

package com.lhf.springbootfastdfs.fastdfs;

import org.csource.common.NameValuePair;

import org.csource.fastdfs.*;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.core.io.ClassPathResource;

import org.springframework.core.io.Resource;

import java.io.*;

/**

* @ClassName: FasfDFSClient

* @Desc:  FastDFS客户端

* @Author: liuhefei

* @Date: 2018/12/24 17:33

*/

public class FastDFSClient {

private static Logger logger = LoggerFactory.getLogger(FastDFSClient.class);

//在类加载的时候读取相应的配置信息,并进行初始化。

static{

try{

String filePath = new ClassPathResource("fdfs_client.conf").getFile().getAbsolutePath();

ClientGlobal.in

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值