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. 006-Spring Boot自动配置-Condition、Conditional、Spring提供的Conditional自动配置

    一.接口Condition.Conditional(原理) 主要提供一下方法 boolean matches(ConditionContext context, AnnotatedTypeMetada ...

  2. Oracle 11g客户端下载地址

    Oracle 11g客户端下载地址: http://www.cr173.com/soft/36349.html

  3. template标签就相当于React中的fragment

    template标签就相当于React中的fragment

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

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

  5. vue组件父子间通信之综合练习--假的聊天室

    <!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. 【ABAP系列】SAP ABAP中将字符格式的金额转换为数值的函数

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP中将字符格式的金 ...

  7. Python文件读写基本操作

    https://www.jianshu.com/p/eab35af27e1c 1.打开文件操作 方法一: f = open('/mypy/test.txt') print f # 输出:<ope ...

  8. Java包的使用

    好处 1.类似于文件系统的文件夹,可以实现分类管理类文件,方便查找2.解决了同一个项目中同名类的冲突问题 包的创建 命名规范: 建议小写字母,并且采用域名倒置的写法 域名倒置:com.baidu ww ...

  9. Spring Boot & Restful API 构建实战!

    作者:liuxiaopeng https://www.cnblogs.com/paddix/p/8215245.html 在现在的开发流程中,为了最大程度实现前后端的分离,通常后端接口只提供数据接口, ...

  10. npm搭建vue全过程

    如何在Window下安装node\cnpm,并安装vue.js,创建项目 参考链接:https://blog.csdn.net/Corey_mengxiaodong/article/details/8 ...