FastDFS快速实现和SpringBoot的整合开发

本文介绍了如何使用Fastdfs-java-client进行文件上传和下载操作,详细解析了上传和下载的流程。接着,展示了在SpringBoot项目中整合FastDFS的步骤,包括添加依赖、配置信息以及测试文件上传下载功能。
摘要由CSDN通过智能技术生成

FastDFS客户端操作

1.Fastdfs-java-client

首先我们来看下如何实现FastDFS中提供的JavaAPI来直接实现对应的文件上传和下载操作。

1.1 文件上传

先来看下文件上传的流程

上传流程的文字梳理为:

  1. 客户端访问Tracker
  2. Tracker 返回Storage的ip和端口
  3. 客户端直接访问Storage,把文件内容和元数据发送过去。
  4. Storage返回文件存储id。包含了组名和文件名

首先创建一个普通的maven项目,然后引入对应的依赖

 1<dependencies>
 2    <dependency>
 3        <groupId>cn.bestwu</groupId>
 4        <artifactId>fastdfs-client-java</artifactId>
 5        <version>1.27</version>
 6    </dependency>
 7    <dependency>
 8        <groupId>org.apache.commons</groupId>
 9        <artifactId>commons-lang3</artifactId>
10        <version>3.4</version>
11    </dependency>
12</dependencies>

然后编写FastDFS的配置文件,内容如下:注意ip修改为你自己对应的ip即可

1connect_timeout = 10
2network_timeout = 30
3charset = UTF-8
4http.tracker_http_port = 8080
5tracker_server = 192.168.56.100:22122

然后导入对应的工具类,在工具类中完成了StorageClient的实例化,并提供了相关的上传和下载的方法。

1package com.bobo.fastdfs.config;
  2
  3import org.apache.commons.lang3.StringUtils;
  4import org.csource.common.NameValuePair;
  5import org.csource.fastdfs.*;
  6
  7import java.io.*;
  8
  9public class FastDFSClient {
 10    private static final String CONF_FILENAME = Thread.currentThread().getContextClassLoader().getResource("").getPath() + "fdfs_client.conf";
 11
 12    private static StorageClient storageClient = null;
 13
 14    /**
 15     * 只加载一次.
 16     */
 17    static {
 18        try {
 19            ClientGlobal.init(CONF_FILENAME);
 20            TrackerClient trackerClient = new TrackerClient(ClientGlobal.g_tracker_group);
 21            TrackerServer trackerServer = trackerClient.getConnection();
 22            StorageServer storageServer = trackerClient.getStoreStorage(trackerServer);
 23            storageClient = new StorageClient(trackerServer, storageServer);
 24        } catch (Exception e) {
 25            e.printStackTrace();
 26        }
 27    }
 28
 29   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值