源码地址:https://github.com/happyfish100/fastdfs-client-java
1.整理jar包
在远程仓库中没有jar包,即使有也不是作者写的
下载源码压缩包解压升成jar包添加到maven本地库中
2.导包
第一步生成后直接在pom文件加入这个就行了,如果导包失败,看看是不是设置中maven仓库地址问题
<dependency> <groupId>org.csource</groupId> <artifactId>fastdfs-client-java</artifactId> <version>1.29-SNAPSHOT</version> </dependency>
3.代码
打开idea新建maven空项目,导包后写配置文件
#连接超时s秒 fastdfs.connect_timeout_in_seconds = 5 #网络超时30秒 fastdfs.network_timeout_in_seconds = 30 fastdfs.charset = UTF-8 #文件服务器地址 file_server_addr=xxx:80 # 最大连接数 并发量较大的话可加大该连接数 max_storage_connection=8 #放盗链功能token 记得把服务器的也打开 /etc/fdfs/http.conf 改完重启 fastdfs.http_anti_steal_token = true #密钥 和服务器/etc/fdfs/http.conf 内的http.anti_steall.secret_key一致
fastdfs.http_secret_key = FastDFS1234567890
#追踪服务器tracker端口号
fastdfs.http_tracker_http_port = 80
#多个追踪服务器地址用逗号隔开
tracker_server = xxxx:22122
测试代码
public static void main(String[] args) throws IOException, MyException { //upload(); download(); } //上传 public static void upload() throws IOException, MyException { //上传文件大致分为三步:1.加载配置文件。2.创建上传服务的对象。3.组装上传信息进行上传 //加载配置文件 ClientGlobal.init("fastdfs-client.properties"); //上传文件需要获得存储对象!需要一下三步 //1. 创建管理端对象 TrackerClient trackerClient = new TrackerClient(); //2. 通过管理端对象获取连接 TrackerServer connection =trackerClient.getTrackerServer(); //3. 创建存储端对象 StorageClient1 storageClient = new StorageClient1(connection, null); //创建文件属性信息 NameValuePair[] arr = new NameValuePair[3]; arr[0] = new NameValuePair("fileName","lp"); arr[1] = new NameValuePair("ExtName","mp4"); arr[2] = new NameValuePair("auth","dlb"); /** * 参数1:数据源 * 参数2:文件类型后缀 * 参数3:文件属性信息 */ String path = storageClient.upload_file1("C:\\Users\\tears\\Desktop\\樱岛麻衣.mp4", "mp4", arr); System.out.println("返回地址" + path); //返回地址group1/M00/00/00/L2WlYGHKtgqABUFbADHmse0OfXM130.mp4 } public static void download() throws IOException, MyException { //初始化配置文件 ClientGlobal.init("fastdfs-client.properties"); //tracker 客户端 TrackerClient trackerClient = new TrackerClient(); //获取trackerServer TrackerServer trackerServer = trackerClient.getTrackerServer(); //创建StorageClient 对象 StorageClient storageClient = new StorageClient(trackerServer); //测试文件下载 storageClient.download_file("group1", "M00/00/00/L2WlYGHKtgqABUFbADHmse0OfXM130.mp4","f:/a.mp4"); }