fastDFS 官方提供了原生的javaAPI支持,可是的是并没有提供连接池技术,这一篇将介绍原始API,下一篇将自己写一个连接池来优化性能。
package com.fastDFS;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.util.UUID;
import org.csource.common.MyException;
import org.csource.common.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.TrackerGroup;
import org.csource.fastdfs.TrackerServer;
public class DFSTest2 {
public String local_filename = "D:\\seafood_project\\fast_DFS\\src\\client.conf";
public String conf_filename = "D:\\seafood_project\\fast_DFS\\src\\client.conf";
public String jpg = "D:/seafood_project/seafood-front/src/main/webapp/common/productImg/11.png";
@org.junit.Test
public void testUpload() {
try {
// 连接超时的时限,单位为毫秒
ClientGlobal.setG_connect_timeout(2000);
// 网络超时的时限,单位为毫秒
ClientGlobal.setG_network_timeout(30000);
ClientGlobal.setG_anti_steal_token(false);
// 字符集
ClientGlobal.setG_charset("UTF-8");
ClientGlobal.setG_secret_key(null);
// HTTP访问服务的端口号
ClientGlobal.setG_tracker_http_port(8088);
// Tracker服务器列表
InetSocketAddress[] tracker_servers = new InetSocketAddress[1];
tracker_servers[0] = new InetSocketAddress("192.168.235.140", 22122);
ClientGlobal.setG_tracker_group(new TrackerGroup(tracker_servers));
TrackerClient tracker = new TrackerClient();
TrackerServer trackerServer = tracker.getConnection();
StorageServer storageServer = null;
StorageClient storageClient = new StorageClient(trackerServer, storageServer);
NameValuePair nvp[] = new NameValuePair[] { new NameValuePair("age", "18"),
new NameValuePair("sex", "male") };
String fileIds[] = storageClient.upload_file(jpg, null, 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();
}
}
@org.junit.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("g1", "M00/A6/97/wKjrh1Nn0Y6AAei8AAACq0FJbOo69.conf");
System.out.println(b);
getFile(b, "d:\\", UUID.randomUUID().toString() + ".conf");
} catch (Exception e) {
e.printStackTrace();
}
}
private void getFile(byte[] b, String string, String string2) {
}
@org.junit.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/wKjrhlNQR5aAGb0lAAACquP_VhU29.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();
}
}
@org.junit.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/wKgUoFGwRMmASXSNAAAA4y5hK3c11.conf");
for (NameValuePair nvp : nvps) {
System.out.println(nvp.getName() + ":" + nvp.getValue());
}
} catch (Exception e) {
e.printStackTrace();
}
}
@org.junit.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/wKgUoFGwRMmASXSNAAAA4y5hK3c11.conf");
System.out.println(i == 0 ? "删除成功" : "删除失败:" + i);
} catch (Exception e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
client-java`时,首先需要在项目中引入`fastdfs-client-java-1.29-SNAPSHOT.jar`和`commons-io-2.4.jar`这两个依赖库,然后根据`fdfs_client.conf`配置客户端,并通过`FastDFSClient`类提供的API进行文件操作。...
它提供了易于使用的API,使得Java程序员可以方便地在项目中集成FastDFS服务。 2. **fastdfs-client-java-1.27-SNAPSHOT.pom**:这是Maven项目的依赖配置文件,包含了该库的依赖关系和版本信息。如果项目使用Maven...
3. 使用API:FastDFS提供了一系列的Java API,用于文件的上传、下载、删除等操作。 总的来说,FastDFS客户端Java版是Java开发者与FastDFS服务交互的重要工具,它的使用涉及到项目构建配置、网络通信以及文件操作等...
总的来说,Fastdfs-client-java-1.27-SNAPSHOT是Java开发者接入FastDFS系统的重要工具,通过其提供的API,可以轻松地在Java应用中实现对FastDFS的文件操作,提升文件服务的稳定性和效率。对于大型的、以文件为中心的...
在Java开发环境中,FastDFS-Client-Java-Master提供了完整的API接口,使得Java应用可以方便地进行文件上传、下载、删除等操作。这个库通常与Maven构建工具配合使用,通过在项目中引入依赖,即可轻松集成到Java项目中...
FastDFS客户端Java库1.27版则是针对Java应用设计的接口,使得Java开发者能够方便地与FastDFS服务器进行交互,实现文件上传、下载、查询等操作。本文将深入探讨这个版本的特性、使用方法及其源码分析。 一、FastDFS...
总的来说,"fastdfs-client-javajar1.29-SNAPSHOT.zip"这个压缩包包含的是FastDFS的Java客户端库,用于在Java项目中与FastDFS服务器进行交互,实现文件的上传、下载和其他管理操作。在使用这个库时,开发者需要了解...
FastDFS-client-java的API设计简洁明了,主要包含以下核心接口: - TrackerClient:用于连接和管理Tracker服务器,获取Storage服务器的信息。 - StorageClient:与Storage服务器交互,执行文件上传、下载、删除等...
fastdfs-client-java-1.27-RELEASE 版本 很实用 spring boot整合fastdfs
使用FastDFS客户端Java库时,开发者需要配置FastDFS服务器的地址和相关参数,然后可以通过API调用来执行以下操作: 1. 文件上传:将本地文件上传到FastDFS服务器,返回文件ID。 2. 文件下载:根据文件ID从FastDFS...
Java操作FastDFS通常会借助于FastDFS的Java客户端API,也就是`fastdfs-client-java`,这是一个便于Java开发者与FastDFS进行交互的库。 在标题"java操作FastDfs-api(代码实例加jar包)"中,提到了使用Java API来操作...
fastdfs-client-java-1.25.jar包
解压放到maven仓库当中 POM文件添加下面的依赖 <groupId>org.csource <artifactId>fastdfs-client-java <version>1.28 </dependency>
fastdfs-client-java-1.27 客户端,保证可用
fastdfs_client_java_v1.24.tar.gz 下载 a
二、fastdfs-client-java-5.0.4.jar包内容 fastdfs-client-java-5.0.4.jar包含了所有必要的类和资源,使得Java程序可以调用FastDFS的API。主要包含以下几个关键模块: 1. 连接管理:负责与FastDFS服务器建立和管理...
二、fastdfs-client-java核心功能 1. 文件上传:通过fastdfs-client-java,Java应用可以将本地文件上传到FastDFS服务器,支持单文件上传和多文件批量上传。 2. 文件下载:客户端库提供了下载文件的功能,可以指定...