Java代码测试FastDFS存储服务器

上篇文章:FastDFS文件存储服务器搭建我已经把fdfs服务器搭建好了,这篇文章我通过Java代码测试一下这个服务

第一步:pom文件中引用依赖:

<dependency>
	<groupId>net.oschina.zcx7878</groupId>
	<artifactId>fastdfs-client-java</artifactId>
	<version>1.27.0.0</version>
</dependency>
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-core</artifactId>
	<version>5.2.8.RELEASE</version>
</dependency>

第二步:配置文件:fdfs_client.conf

# 连接超时时间
# 默认30秒
connect_timeout=30
# 网络超时时间
# default value is 30s
network_timeout=60
# 工作文件夹,日志存在此
# windows路径
base_path=D:/home/fastdfs
# LINUX路径
# base_path=/home/fastdfs
# 改为自己服务器的ip
tracker_server=162.178.169.37:22122
# 日志级别
log_level=info
# 是否使用连接池
use_connection_pool = false
# 连接闲置超时时间,连接如果闲置的时间超过本配置,则关闭次连接,单位秒
connection_pool_max_idle_time = 3600
# 是否从tracer server读取fastdfs的参数,默认为false
load_fdfs_parameters_from_tracker=false
# 是否使用storage id 替换 ip,默认为false
# 和tracker.conf该参数含义一样
# 本配置只有在load_fdfs_parameters_from_tracker=false时生效
# 本配置默认为false
use_storage_id = false
# 指定storage id的文件名,允许使用绝对路径
# 和tracker.conf该参数含义一样
# 本配置只有在load_fdfs_parameters_from_tracker=false时生效
storage_ids_filename = storage_ids.conf
#HTTP settings
http.tracker_server_port=8688

第三步:编写JAVA代码:

public static void main(String[] args) {
        try {
            // 需要上传的文件
            String filePath = "C:\\Users\\Administrator\\Pictures\\Camera Roll\\OIP.jpg";
            // FastDFS配置文件
            String configurationFilePath = new ClassPathResource("FastDFS.conf").getFile().getAbsolutePath();
            // 加载配置文件
            ClientGlobal.init(configurationFilePath);
            // 创建调度器对象
            TrackerClient trackerClient = new TrackerClient();
            // 通过调度器对象创建连接,得到调度器服务端
            TrackerServer trackerServer = trackerClient.getConnection();
            // 声明一个文件存储服务端引用
            StorageServer storageServer = null;
            // 创建文件存储客户端对象,需要两个参数:分别是调度器服务端对象、文件存储服务端的引用
            StorageClient storageClient = new StorageClient(trackerServer, storageServer);
            // 使用文件存储客户端对象上传图片参数,分析源码的参数:
            //   * @param local_filename local filename to upload   要上传的本地文件名
            //   * @param file_ext_name  file ext name, do not include dot(.), null to extract ext name from the local filename 上传文件扩展名,不包括点(.),从本地文件名中提取
            //   * @param meta_list      meta info array    元信息数组
            String[] strings = storageClient.upload_file(filePath, "jpg", null);
            // 返回数组。包含组名和图片的路径。
            for (String string : strings) {
                System.out.println(string);
            }
            System.out.println("上传完成");
        } catch (IOException e) {
            e.printStackTrace();
        } catch (MyException e) {
            e.printStackTrace();
        }
    }

第四步:直接运行main方法:

在这里插入图片描述
可以看到运行结果,程序返回了上传文件的组名和图片路径。

第五步:通过浏览器访问我们上传的图片

上一步得到了图片上传的组名和图片路径,再拼接上fdfs服务器IP和端口,就能访问图片了:
在这里插入图片描述
这就说明我们的图片已经通过代码的方式上传到了fdfs服务器。

第六步:去服务器上看看这张图片:

在这里插入图片描述
我们在服务器上也找到了这张图片。

这就说明我们搭建的fdfs服务器是没问题的了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值