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();
}
}
}
分享到:
相关推荐
解决 Maven 无法下载 fastdfs-client-java-1.29-SNAPSHOT 依赖,直接下载之后用maven命令存储到本地maven仓库即可。 maven命令 mvn install:install-file -DgroupId=org.csource -DartifactId=fastdfs-client-java ...
fastdfs-client-java-1.27-SNAPSHOT.jar fastdfs-client-java-1.27-SNAPSHOT.pom
fastdfs-client-java-1.27-RELEASE 版本 很实用 spring boot整合fastdfs
fastdfs-client-java-1.25.jar包
fastdfs-client-java-1.27 客户端,保证可用
fastdfs_client_java_v1.24.tar.gz 下载 a
fastdfs-client-java-1.27-SNAPSHOT.jar和fastdfs-client-java-1.27-SNAPSHOT.pom压缩包,有需要可以下载
Missing artifact org.csource:fastdfs-client-java:jar:1.27-SNAPSHOT
FastDFS文件操作-java,pom.xml引入依赖 <!-- fastDFS依赖就一个 --> <groupId>net.oschina.zcx7878</groupId> <artifactId>fastdfs-client-java <version>1.27.0.0 </dependencies>
此jar包可以使Java客户端调用FastDFS上传文件
fastdfs-client-java-1.25.jar java操作 实现上传文件等
标签:github、tobato、fastdfs、client、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...
fastdfs-client-java-1.27.jar,现在很多地方都有用到,功能很强大,所以打出来供大家分享使用