1、下载官方的源代码:https://codeload.github.com/happyfish100/fastdfs-client-java/zip/master

2、采用maven命令编译成jar安装到本地maven库:mvn clean install

3、在Java程序中使用它提供的API来访问fastDFS文件系统;

注:maven官网的客户端有点问题,需要自己生成jar包

执行mvn clean install后,会出现在本地仓库中

测试代码如下

工具类

package com.topcheer.fastdfs;

import java.io.IOException;

import org.csource.fastdfs.ClientGlobal;
import org.csource.fastdfs.StorageClient;
import org.csource.fastdfs.StorageServer;
import org.csource.fastdfs.TrackerClient;
import org.csource.fastdfs.TrackerServer;

public class FastDfsUtil {

private static final String conf = "fastdfs-client.conf"; private static TrackerServer trackerServer = null;
private static StorageServer storageServer = null;

public static StorageClient getStorageClient() {
StorageClient storageClient = null;
try {
// 1 初始化配置文件
ClientGlobal.init(conf);

// 2 创建tracker的客户端对象
TrackerClient client = new TrackerClient();

// 3 创建tracker的服务器对象
trackerServer = client.getConnection();

// 4 创建storage的客户端对象
storageServer = client.getStoreStorage(trackerServer);

// 5 创建storage的服务器对象
storageClient = new StorageClient(trackerServer, storageServer);

} catch (Exception e) {
e.printStackTrace();
}
return storageClient;
}

//关闭资源
public static void close() {

if (trackerServer != null) {
try {
trackerServer.close();
} catch (IOException e) {
e.printStackTrace();
}
}

if (storageServer != null) {
try {
storageServer.close();
} catch (IOException e) {
e.printStackTrace();
}
}

}

}

fastdfs-client.conf配置信息

tracker_server = 192.168.180.104:22122

上传

 public static void uploadFile() {

            try {
String[] strings = FastDfsUtil.getStorageClient().upload_appender_file("C:\\Users\\asus\\Desktop\\激活码.txt", "txt", null);
Arrays.asList(strings).forEach(s -> System.out.println(s));
//group1
// M00/00/00/wKi0aF3II2yEPlv6AAAAAHp_ifU838.txt
} catch (IOException e) {
e.printStackTrace();
} catch (MyException e) {
e.printStackTrace();
}finally {
FastDfsUtil.close();
}
}

注:nginx.conf的端口被改成8888了,测试结果如图

下载

 public static void downfile() {

try {

FastDfsUtil.getStorageClient().download_file("group1", "M00/00/00/wKi0aF3II2yEPlv6AAAAAHp_ifU838.txt", "d:/a.txt");
} catch (IOException e) {
e.printStackTrace();
} catch (MyException e) {
e.printStackTrace();
}finally {
FastDfsUtil.close();
}
}

删除

  /**
* delete file from storage server
*
* @param group_name the group name of storage server
* @param remote_filename filename on storage server
* @return 0 for success, none zero for fail (error code)
*/
public static void delFile() {
try {
int file = FastDfsUtil.getStorageClient().delete_file("group1", "M00/00/00/wKi0aF3II2yEPlv6AAAAAHp_ifU838.txt");
System.out.println(file);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MyException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
FastDfsUtil.close();
}
}

FastDFS整合普通Maven项目(四)的更多相关文章

  1. Spring4.2.3+Hibernate4.3.11整合( IntelliJ maven项目)(使用Annotation注解)(Junit测试类)

    1. 在IntelliJ中新建maven项目 给出一个建好的示例 2. 在pom.xml中配置依赖 包括: spring-context spring-orm hibernate-core mysql ...

  2. Spring4.2.3+Hibernate4.3.11整合( IntelliJ maven项目)

    1. 在IntelliJ中新建maven项目 给出一个建好的示例 2. 在pom.xml中配置依赖 包括: spring-context spring-orm hibernate-core mysql ...

  3. [saiku] 源码整合[maven整合]

    saiku源码的整合分为[普通web项目整合]和[maven整合]两种 本节主要是讲解如何整合为maven项目 转载自:http://blog.csdn.net/gsying1474/article/ ...

  4. sonar扫描多模块的maven项目

    SonarQube Scanner,作为代码扫描的工具,通过它,将项目的代码读取并发送至SonarQube服务器中,才能让SonarQube进行代码分析. 可以认为SonarQube Scanner就 ...

  5. ssm框架整合+maven项目创建

    在引入外部maven插件后就可以创建一个maven项目了,这篇文章主要介绍ssm框架的整合和如何创建一个maven项目 1.在开发工具的项目空白区单击右键,依次选择New.Other,会出现如下界面, ...

  6. 01 整合IDEA+Maven+SSM框架的高并发的商品秒杀项目之业务分析与DAO层

    作者:nnngu 项目源代码:https://github.com/nnngu/nguSeckill 这是一个整合IDEA+Maven+SSM框架的高并发的商品秒杀项目.我们将分为以下几篇文章来进行详 ...

  7. eclipse 创建maven 项目 动态web工程完整示例 maven 整合springmvc整合mybatis

    接上一篇: eclipse 创建maven 项目 动态web工程完整示例 eclipse maven工程自动添加依赖设置 maven工程可以在线搜索依赖的jar包,还是非常方便的 但是有的时候可能还需 ...

  8. maven项目自动创建src/main/resources等四个资源文件夹

    如何使maven项目自动创建这四个文件夹:src/main/resources.src/main/java.src/test/java.src/test/resources 网传甚广的在Config ...

  9. spring springmvc mybatis maven 项目整合示例-导航页面

    spring原理 实践解析-简单的helloworld spring原理案例-基本项目搭建 01 spring framework 下载 官网下载spring jar包 spring原理案例-基本项目 ...

随机推荐

  1. 常用的adb命令收集

    测试app常会用到一些adb命令,当然使用adb命令,需要配好jdk.sdk环境,不然不能使用的 1.adb help ----帮助信息 2.adb device ----手机的id查看 3.adb ...

  2. [Forward]C++ Properties - a Library Solution

    orig url: https://accu.org/index.php/journals/255 roperties are a feature of a number of programming ...

  3. CStatic中保持图形比例不变,尽量填充控件空间的代码

    CStatic中保持图形比例不变,尽量填充控件空间的代码 先获取控件的高.宽,然后获取图像的高.宽,测试需要调整高还是调整宽 void CImagePreviewStatic::DrawItem(LP ...

  4. WordPress 数据库结构及表字段作用解析

    对于WordPress的开发可以说子凡已经是如痴如醉了,通过 WordPress 本身的开放性接口可以做到很多的事情,但是有些时候我们可能更喜欢直接查询数据库来实现某些 WordPress 没有提供的 ...

  5. VS2012发布Web应用程序

    一.右键项目-->发布 二.配置文件:新建-->配置文件名称,如MyProject 三.连接:1.发布方法:文件系统  2.目标位置:自己在本地建立一个文件夹 3.目标URL:可以不填 四 ...

  6. .aspx和.aspx.cs之间的区别

    在vs里面创建一个web窗体会产生两种文件:后缀是.aspx和.aspx.cs. 简单的来说,.aspx是表现层,可以简单理解为是写html代码的,界面的设计部分:.cs是对应的逻辑代码,再通过特定的 ...

  7. [BZOJ1074] [luogu 4036] [JSOI 2008] 火星人 (二分答案+哈希+fhq treap)

    [BZOJ1074] [luogu 4036] [JSOI 2008] 火星人 (二分答案+哈希+fhq treap) 题面 给出一个长度为n的字符串,m个操作,字符串仅包含小写英文字母 操作1:在k ...

  8. BitMap的原理和实现

    相关概念 基础类型 在java中: byte -> 8 bits -->1字节 char -> 16 bit -->2字节 short -> 16 bits --> ...

  9. 简单易用的leetcode开发测试工具(npm)

    描述 最近在用es6解leetcode,当问题比较复杂时,有可能修正了新的错误,却影响了前面的流程.要用通用的测试工具,却又有杀鸡用牛刀的感觉,所以就写了个简单易用的leetcode开发测试工具,分享 ...

  10. P3188 [HNOI2007]梦幻岛宝珠

    传送门 注意到 $a,b$ 不大 考虑对每一个 $a*2^b$ 的 $b$ 分别背包 设 $f[i][j]$ 表示只考虑 $b=i$ 的物品时,容量为 $j= \sum a$ 的最大价值 这个就是普通 ...