一、在外链网址已屏蔽 下载客户端,解压后并执行ant命令,在E:\tools\libs\fastdfs\fastdfs-client-java-master\src\build下会生成fastdfs_client.jar如图示

二、mvn安装fastdfs_client.jar,在cmd中执行命令

mvn install:install-file -DgroupId=org.csource -DartifactId=fastdfs-client-java -Dversion=5.0.4 -Dpackaging=jar -Dfile=D:\fastdfs_client.jar

三、在eclipse中新建maven项目fastdfs-demo,在pom.xml中加入依赖如下

xsi:schemaLocation="外链网址已屏蔽;外链网址已屏蔽">

4.0.0

com.leech

fastdfs-demo

0.0.1-SNAPSHOT

jar

fastdfs-demo

外链网址已屏蔽;/url>

UTF-8

junit

junit

4.11

test

org.csource

fastdfs-client-java

5.0.4

commons-io

commons-io

2.4

在src/main/resources中新建fdfs_client.conf文件,内容如下

connect_timeout = 2

network_timeout = 30

charset = UTF-8

http.tracker_http_port = 80

http.anti_steal_token = no

http.secret_key = FastDFS1234567890

tracker_server = 192.168.17.112:22122

#tracker_server = 192.168.0.119:22122

在src/main/java中创建TestFastDfs.java如下

package com.leech.fastdfs.demo;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.UUID;

import mons.io.IOUtils;

import mon.MyException;

import mon.NameValuePair;

import org.csource.fastdfs.ClientGlobal;

import org.csource.fastdfs.FileInfo;

import org.csource.fastdfs.StorageClient;

import org.csource.fastdfs.StorageServer;

import org.csource.fastdfs.TrackerClient;

import org.csource.fastdfs.TrackerServer;

import org.junit.After;

import org.junit.Before;

import org.junit.Test;

public class TestFastDfs {

public String conf_filename = "D:\\stsworkspace\\fastdfs-demo\\src\\main\\resources\\fdfs_client.conf";

//public String local_filename = "D:\\stsworkspace\\fastdfs-demo\\src\\main\\resources\\fdfs_client.conf";

public String local_filename = "D:\\stsworkspace\\fastdfs-demo\\src\\main\\resources\\sprites.png";

@Before

public void setUp() throws Exception {

}

@After

public void tearDown() throws Exception {

}

@Test

public void testUpload() {

try {

ClientGlobal.init(conf_filename);

TrackerClient tracker = new TrackerClient();

TrackerServer trackerServer = tracker.getConnection();

StorageServer storageServer = null;

StorageClient storageClient = new StorageClient(trackerServer, storageServer);

//          NameValuePair nvp = new NameValuePair("age", "18");

NameValuePair nvp [] = new NameValuePair[]{

new NameValuePair("age", "18"),

new NameValuePair("sex", "male")

};

String fileIds[] = storageClient.upload_file(local_filename, "png", nvp);

System.out.println(fileIds.length);

System.out.println("组名:" + fileIds[0]);

System.out.println("路径: " + fileIds[1]);

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} catch (MyException e) {

e.printStackTrace();

}

}

@Test

public void testDownload() {

try {

ClientGlobal.init(conf_filename);

TrackerClient tracker = new TrackerClient();

TrackerServer trackerServer = tracker.getConnection();

StorageServer storageServer = null;

StorageClient storageClient = new StorageClient(trackerServer, storageServer);

byte[] b = storageClient.download_file("group1", "M00/00/00/wKgRcFV_08OAK_KCAAAA5fm_sy874.conf");

System.out.println(b);

IOUtils.write(b, new FileOutputStream("D:/"+UUID.randomUUID().toString()+".conf"));

} catch (Exception e) {

e.printStackTrace();

}

}

@Test

public void testGetFileInfo(){

try {

ClientGlobal.init(conf_filename);

TrackerClient tracker = new TrackerClient();

TrackerServer trackerServer = tracker.getConnection();

StorageServer storageServer = null;

StorageClient storageClient = new StorageClient(trackerServer, storageServer);

FileInfo fi = storageClient.get_file_info("group1", "M00/00/00/wKgRcFV_08OAK_KCAAAA5fm_sy874.conf");

System.out.println(fi.getSourceIpAddr());

System.out.println(fi.getFileSize());

System.out.println(fi.getCreateTimestamp());

System.out.println(fi.getCrc32());

} catch (Exception e) {

e.printStackTrace();

}

}

@Test

public void testGetFileMate(){

try {

ClientGlobal.init(conf_filename);

TrackerClient tracker = new TrackerClient();

TrackerServer trackerServer = tracker.getConnection();

StorageServer storageServer = null;

StorageClient storageClient = new StorageClient(trackerServer,

storageServer);

NameValuePair nvps [] = storageClient.get_metadata("group1", "M00/00/00/wKgRcFV_08OAK_KCAAAA5fm_sy874.conf");

for(NameValuePair nvp : nvps){

System.out.println(nvp.getName() + ":" + nvp.getValue());

}

} catch (Exception e) {

e.printStackTrace();

}

}

@Test

public void testDelete(){

try {

ClientGlobal.init(conf_filename);

TrackerClient tracker = new TrackerClient();

TrackerServer trackerServer = tracker.getConnection();

StorageServer storageServer = null;

StorageClient storageClient = new StorageClient(trackerServer,

storageServer);

int i = storageClient.delete_file("group1", "M00/00/00/wKgRcFV_08OAK_KCAAAA5fm_sy874.conf");

System.out.println( i==0 ? "删除成功" : "删除失败:"+i);

} catch (Exception e) {

e.printStackTrace();

}

}

}

fastdfs java client_fastdfs-client-java操作fastdfs5.0.4相关推荐

  1. java redis集群操作,java操作redis3.0集群

    java(JedisCluster)操作redis集群 这里只是几个简单的demo,直接上代码吧,没啥好说的 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ...

  2. Elasticsearch8.0版本中Elasticsearch Java API Client客户端的基本使用方法

    关于Elasticsearch Java API Client客户端如何连接以及如何对索引和文档进行基本的增删改查操作请查看我的上一篇博文:Elasticsearch RestHighLevelCli ...

  3. java 32位jdk_jdk9 32位下载 jdk9.0(Java SE Development Kit 9) v9.0.4 官方版 32位 下载-脚本之家...

    JDK1.9是JDK是整个Java的核心,包括了Java运行环境,一堆Java工具和Java基础的类库.jdk1.9已发布,相对jdk1.8的版本 jdk1.9新增三个全新的API和一些小的特性和性能 ...

  4. java client和servers_“java -server”和“java -client”之间的真正区别?

    这实际上与HotSpot和默认选项值 ( Java HotSpot VM选项 )相关联,这些选项在客户端和服务器configuration之间有所不同. 从白皮书( The Java HotSpot ...

  5. ios java 通信_Kurento Java Spring Client IOS – Web到IOS通信

    我们正在尝试使用Kurento 6.0 Java Spring Client.这些例子运作良好(one2one调用one2one-recording).我们正在尝试在IOS应用程序上实现相同的功能,以 ...

  6. ES8(Java API Client)查询详解

    根据我之前文章对 ES命令的查询使用,测试索引的文档数据前面文章有提到的. 下面我们就通过 ES8(Java API Client)来进行查询. 参考官方AP文档:https://www.elasti ...

  7. Springboot整合ES8(Java API Client)

    在 Elasticsearch7.15版本之后,Elasticsearch官方将它的高级客户端 RestHighLevelClient标记为弃用状态.同时推出了全新的 Java API客户端 Elas ...

  8. Elasticsearch RestHighLevelClient 已标记为被弃用 它的替代方案 Elasticsearch Java API Client 的基础教程及迁移方案

    在Elasticsearch7.15版本之后,Elasticsearch官方将它的高级客户端RestHighLevelClient标记为弃用状态.同时推出了全新的Java API客户端Elastics ...

  9. SpringBoot整合最新Elasticsearch Java API Client 7.16教程

    文章目录 前言 一.Elasticsearch和Kibana 7.16版本安装 二.pom.xml文件引入依赖 三.代码实例 总结 前言 最新在学习SpringBoot整合es的一些知识,浏览了网上的 ...

最新文章

  1. C/C++包管理工具Conan简介
  2. 3d 行为树编辑器_cocos creator主程入门教程——有限状态机和行为树
  3. 计算矢量面积_航天器轨道参数计算推导
  4. input失去焦点验证格式_input获取、失去焦点对输入内容做验证
  5. PPC系统常见启动项(StartUp)解说
  6. 安卓设备刷linux发行版,绝对精华,大牛教你在Android系统上安装linux发行版
  7. 并发基础知识:死锁和对象监视器
  8. python变量分类_Python 入门系列 —— 5. 三大变量类型介绍
  9. 因合约代码Bug,约2.2亿元11539枚以太币被永久锁定
  10. fmri 实验设计 / 范式设计/ paradigm design
  11. mysql 数据库后缀名,mysql 数据库文件扩展名
  12. ActiveMQ专题2 —— ActiveMQ下载和安装(Linux版)
  13. 物理化学第6版笔记和课后答案(天津大学)
  14. Nginx网页优化(隐藏版本号,日志分割,更改进程数,网页压缩,防盗链详
  15. 固定资产管理mysql_固定资产管理系统数据库设计
  16. kmspico_setup.exe运行提示系统资源不足,无法完成请求的服务
  17. 点乘/内积/数量积;叉乘/向量积;矩阵乘法;哈达马积;克罗内克积;卷积
  18. Ubuntu18.04 MOOS-ivp 编译运行
  19. Kotlin学习(二十): Kotlin实现流的读取的方案
  20. 微信上网卡WeSim悄然发布

热门文章

  1. Relay IR表示
  2. 开放式神经网络交换-ONNX(上)
  3. 使用NVIDIA GRID vPC支持视频会议和算力工具
  4. 如何构建虚拟护士应用程序?
  5. ASIC设计-终极指南
  6. 2021年大数据Kafka(八):Kafka如何保证数据不丢失
  7. 2021年大数据Spark(七):应用架构基本了解
  8. Retrofit 找不到ScalarsConverterFactory
  9. Android 自定义Dialog 的使用
  10. 字符串转 Json 数组