一、项目结构
二、pom.xml
4.0.0 org.example A01fastdfs1.0-SNAPSHOT net.oschina.zcx7878 fastdfs-client-java1.27.0.0 junit junit4.13 test org.apache.commons commons-io1.3.2 org.apache.maven.plugins maven-compiler-plugin1.9 1.9
三、fastdfs-client.properties
#http连接超时时间
fastdfs.connect_timeout_in_seconds=5
#tracker和storage网络通信超时时间
fastdfs.network_timeout_in_seconds=30
#字符编码
fastdfs.charset=utf-8
#tracker服务器地址,多个地址中间用英文逗号分隔
fastdfs.tracker_servers=192.168.2.105:22122
四、测试
package com.wuxi.test;
import org.csource.fastdfs.*;
import org.junit.Test;
import java.io.File;
import java.io.FileOutputStream;
public class MyTest {
//上传文件
@Test
public void testUpload() {
try {
//加载fastdfs-client.properties配置文件
ClientGlobal.initByProperties("config/fastdfs-client.properties");
//定义TrackerClient,用于请求TrackerServer
TrackerClient trackerClient = new TrackerClient();
//连接tracker
TrackerServer trackerServer = trackerClient.getConnection();
//获取storage
StorageServer storeStorage = trackerClient.getStoreStorage(trackerServer);
//创建storageClient
StorageClient1 storageClient1 = new StorageClient1(trackerServer, storeStorage);
//向storage服务器上传文件
//本地文件的路径
String path = "F:/java/resource/data.txt";
//上传成功后拿到文件Id
String fileId = storageClient1.upload_file1(path, "txt", null);
System.out.println(fileId);//group1/M00/00/00/wKgCaV9vaSaARBTKAAAAGjJpL2g017.txt
} catch (Exception e) {
e.printStackTrace();
}
}
//下载文件
@Test
public void testDownload() {
try {
//加载fastdfs-client.properties配置文件
ClientGlobal.initByProperties("config/fastdfs-client.properties");
//定义TrackerClient,用于请求TrackerServer
TrackerClient trackerClient = new TrackerClient();
//连接tracker
TrackerServer trackerServer = trackerClient.getConnection();
//获取storage
StorageServer storeStorage = trackerClient.getStoreStorage(trackerServer);
//创建storageClient
StorageClient1 storageClient1 = new StorageClient1(trackerServer, storeStorage);
//下载文件
//文件id
String fileId = "group1/M00/00/00/wKgCaV9vaSaARBTKAAAAGjJpL2g017.txt";
byte[] bytes = storageClient1.download_file1(fileId);
//使用输出流保存文件
FileOutputStream fileOutputStream = new FileOutputStream(new File("F:/data.txt"));
fileOutputStream.write(bytes);
} catch (Exception e) {
e.printStackTrace();
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。



