返回介绍

7.2 FastFDS 客户端

发布于 2025-04-26 13:26:34 字数 2198 浏览 0 评论 0 收藏

FastDFS 有 Java 的客户端 API,可以实现文件的上传、下载和删除等操作。在实例中,将使用一个更加简单的由第三方提供的开源 FastFDS_Client 组件,更加轻量地使用 FastFDS 分布式文件系统的功能。FastFDS_Client 是由 tobato 提供的专门为 Spring Boot 应用编写的 FastFDS 客户端应用。需要了解更多有关 FastFDS_Client 的细节,可以从下列 URL 中查看或下载它的源代码。

https://github.com/tobato/FastDFS_Client.git

本章实例工程由以下两个模块组成:

数据库管理模块:neo4j;

Web 应用模块:webapp。

其中,数据库管理模块使用 Neo4j 数据库提供数据存取的功能,Web 应用模块提供文件的上传和管理等操作。

7.2.1 客户端配置

首先,在实例工程的 Web 应用模块中的 Maven 依赖管理中引用 FastFDS_Client 的依赖配置,如代码清单 7-4 所示。在工程的主程序中增加一个注解:@Import(FdfsClientConfig.class),以导入 FastFDS_Client 的配置。

代码清单 7-4 FastFDS_Client 依赖

<dependency>
        <groupId>com.github.tobato</groupId>
        <artifactId>fastdfs-client</artifactId>
        <version>1.25.1-RELEASE</version>
    </dependency>

然后,在 Web 应用模块的工程配置文件 application.yml 中增加如代码清单 7-5 所示的配置。其中,trackerList 是配置 Tracker Server 的列表,因为只安装了一个 Tracker Server,所以只要配置一个即可。

代码清单 7-5 FastFDS_Client 配置

fdfs:
    soTimeout: 1501
    connectTimeout: 601
    thumbImage:
        width: 150
        height: 150
    trackerList:
        - 192.168.1.214:22122
#    - 192.168.1.215:22122
spring.jmx.enabled: false

7.2.2 客户端服务类

为了能使用 FastFDS_Client,需要编写一个调用 FastFDS_Client 的服务类 Fastefs-Client,如代码清单 7-6 所示。其中文件上传时调用了 FastFDS_Client 的 uploadFile,文件删除时调用了 FastFDS_Client 的 deleteFile。

代码清单 7-6 使用 FastFDS 上传和删除文件

@Service
public class FastefsClient {
    @Autowired
    protected FastFileStorageClient storageClient;
    public String uploFile(MultipartFile file){
        String fileType = FilenameUtils.getExtension(file.getOriginalFilename
()).toLowerCase();
        StorePath path = null;
        try {
            path = storageClient.uploadFile(file.getInputStream(), file.get
Size(), fileType, null);
        }catch (IOException e){
            e.printStackTrace();
        }
        if(path != null)
            return path.getFullPath();
        else
            return null;
    }
    public void deleteFile(String fullPath){
        storageClient.deleteFile(fullPath);
    }
}

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。