概述
Java客户端获取
Maven Repository仓库获取
可以从仓库中获取用友云提供的jar包,但是获取的客户端版本比较老,如果想使用最新的客户端版本,需要自己编译源码,下面有介绍。
<!-- https://mvnrepository.com/artifact/org.csource/fastdfs-client-java -->
<dependency>
<groupId>org.csource</groupId>
<artifactId>fastdfs-client-java</artifactId>
<version>1.27-RELEASE</version>
</dependency>
通过Java源码自己打jar包
下载源码
从https://github.com/happyfish100/fastdfs-client-java 下载Master分支的源码。
可以通过Https或者git的方式下载,博主使用的是git下载。
Maven 打包
mvn clean install
客户端环境搭建
搭建客户端使用环境
linux环境防火墙配置打开22122、23000端口。
# 打开tracker服务器的连接端口22122
[root@localhost 00]# firewall-cmd --zone=public --add-port=22122/tcp --permanent
[root@localhost 00]# firewall-cmd --reload
[root@localhost 00]# firewall-cmd --query-port 22122/tcp
# 打开storage服务器的连接端口23000
[root@localhost 00]# firewall-cmd --zone=public --add-port=23000/tcp --permanent
[root@localhost 00]# firewall-cmd --reload
[root@localhost 00]# firewall-cmd --query-port 23000/tcp
Idea搭建fdfs-client项目
创建fdfs-client项目,引入fasts-clinet-java包
- 创建springboot项目。
- 引入jar包
<dependency>
<groupId>org.csource</groupId>
<artifactId>fastdfs-client-java</artifactId>
<version>1.29-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
拷贝fdfs_client.conf到项目的resource目录下
修改fdfs_client.conf的tracker-server配置
tracker_server = 192.168.112.128:22122
文件上传
添加上传方法
@Controller
public class FDFSController {
public void fileUpload() {
TrackerServer trackerServer = null;
StorageServer storageServer = null;
try {
// 加载配置文件,默认区classpath下加载
ClientGlobal.init("fdfs_client.conf");
// 创建TrackerClient对象
TrackerClient trackerClient = new TrackerClient();
// 创建TrackerServer对象
trackerServer = trackerClient.getTrackerServer();
// 创建StorageServer对象
storageServer = trackerClient.getStoreStorage(trackerServer);
// 创建StorageClient对象
StorageClient storageClient = new StorageClient(trackerServer, storageServer);
// 上传文件,第一参数:本地路径,第二个参数:上传文件的后置,第三个参数:文件信息
String[] uploadArray = storageClient.upload_file("D:/tt.txt", "txt", null);
Arrays.stream(uploadArray).forEach(System.out::println);
} catch (IOException e) {
e.printStackTrace();
} catch (MyException e) {
e.printStackTrace();
} finally {
if (storageServer != null) {
try {
storageServer.getConnection().close();
} catch (IOException e) {
e.printStackTrace();
} catch (MyException e) {
e.printStackTrace();
}
}
if (trackerServer != null) {
try {
trackerServer.getConnection().close();
} catch (IOException e) {
e.printStackTrace();
} catch (MyException e) {
e.printStackTrace();
}
}
}
}
}
上传测试用例
@SpringBootTest
public class FdfsClientApplicationTests {
@Autowired
private FDFSController fdfsController;
@Test
public void testUpload() {
fdfsController.fileUpload();
}
}
上传结果
2021-05-16 22:16:33.408 INFO 9900 --- [ main] c.p.f.f.FdfsClientApplicationTests : Starting FdfsClientApplicationTests using Java 1.8.0_181 on DESKTOP-OTR8LPB with PID 9900 (started by asus in D:\work_space\fdfs-client)
2021-05-16 22:16:33.423 INFO 9900 --- [ main] c.p.f.f.FdfsClientApplicationTests : No active profile set, falling back to default profiles: default
2021-05-16 22:16:34.689 INFO 9900 --- [ main] c.p.f.f.FdfsClientApplicationTests : Started FdfsClientApplicationTests in 2.627 seconds (JVM running for 6.418)
group1
M00/00/00/wKhwgGChKT2AboZaAAAAKO201Jw249.txt
Disconnected from the target VM, address: '127.0.0.1:51414', transport: 'socket'
linux中查看上传的文件
[root@localhost data]# cd 00/00
[root@localhost 00]# ll
total 52
-rw-r--r--. 1 root root 40 May 16 22:16 wKhwgGChKT2AboZaAAAAKO201Jw249.txt
可以看到文件已经上传成功。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/100333.html