下面是jar包不能直接用的情况下,可以自行构建。
1.准备
(1)自行创建maven项目,可以参考
https://www.jianshu.com/p/1275b0c93732
创建成这样的结构
(2)下载fastDFS java的源码包
https://github.com/happyfish100/fastdfs-client-java
2. 转移
(1)将fastdfs_java/main/java下的org 转移到自己建立的maven的main/java下
转移到
(2)将fastdfs_java/main/resources下的文件转移到自己建立的maven的main/resources下
转移到
(3) 在自己的maven的main/resources添加一个文件
fastdfs-client.properties
里面只需要加上 tracker_server 的地址
3.测试
在test文件夹下创建一个TestFastdfs.java
在这里插入代码片
import org.csource.common.MyException;
import org.csource.common.NameValuePair;
import org.csource.fastdfs.ClientGlobal;
import org.csource.fastdfs.StorageClient;
import org.csource.fastdfs.TrackerClient;
import org.csource.fastdfs.TrackerServer;
import org.junit.Test;
import java.io.IOException;
public class TestFastdfs {
@Test
public void testFirstFastdfsCmd() throws IOException, MyException {
//初始化配置文件
ClientGlobal.init("fastdfs-client.properties");
//tracker 客户端
TrackerClient trackerClient = new TrackerClient();
//获取trackerServer
TrackerServer trackerServer = trackerClient.getTrackerServer();
//创建StorageClient 对象
StorageClient storageClient = new StorageClient(trackerServer);
String file_path = "D:\\fastDFS_test\\upload\\a.txt";
//文件元数据信息组
NameValuePair[] nameValuePairs = {new NameValuePair("author","fast")};
String[] txts = storageClient.upload_file(file_path, "txt", nameValuePairs);
for (String txt : txts) {
System.out.println(txt);
}
System.out.println(file_path.substring(file_path.indexOf(".")+1));
}
@Test
public void testDownloadFile() throws IOException, MyException {
//初始化配置文件
ClientGlobal.init("fastdfs-client.properties");
//tracker 客户端
TrackerClient trackerClient = new TrackerClient();
//获取trackerServer
TrackerServer trackerServer = trackerClient.getTrackerServer();
//创建StorageClient 对象
StorageClient storageClient = new StorageClient(trackerServer);
//文件下载
int i = storageClient.download_file("group1", "M00/00/00/rBENdl7YkRGAXPRVAAAAI6f1DpI407.txt","D:\\fastDFS_test\\download\\a.txt");
System.out.println( i==0 ? "下载成功" : "下载失败:"+i);
}
/**
* 删除图片
*
* @param group
* @param filePath
* @return
*/
@Test
public void testDeleteFile()throws IOException, MyException {
//利用fastdfs客户端,实现文件上传到fastdfs服务器上
//初始化配置文件
ClientGlobal.init("fastdfs-client.properties");
//tracker 客户端
TrackerClient trackerClient = new TrackerClient();
//获取trackerServer
TrackerServer trackerServer = trackerClient.getTrackerServer();
//创建StorageClient 对象
StorageClient storageClient = new StorageClient(trackerServer);
//fastdfs删除文件
int i=storageClient.delete_file("group1", "M00/00/00/rBENdl7bJ-KAX7PXAAAAI6f1DpI148.txt");
System.out.println( i==0 ? "删除成功" : "删除失败:"+i);
// return storageClient.delete_file(group, filePath);
}
}