FastDFS
Posted menxn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FastDFS相关的知识,希望对你有一定的参考价值。
FastDFS java 上传下载
配置文件
dfs.properties## fastdfs-client fastdfs.connect_timeout_in_seconds=5 fastdfs.network_timeout_in_seconds=30 fastdfs.charset=UTF-8 fastdfs.http_anti_steal_token=true fastdfs.http_secret_key=FastDFS1234567890 fastdfs.http_tracker_http_port=80 fastdfs.tracker_servers=file.ljzsg.com:22122
http_secret_key 对应 /etc/fdfs/http.conf 的http.anti_steal.secret_key
POM
<dependency> <groupId>net.oschina.zcx7878</groupId> <artifactId>fastdfs-client-java</artifactId> <version>1.27.0.0</version> </dependency>
上传
@Test public void upload() { try { // 初始化全局配置。加载一个配置文件。 ClientGlobal.initByProperties("dfs.properties"); // 创建一个TrackerClient对象。 TrackerClient trackerClient = new TrackerClient(); // 创建一个TrackerServer对象。 TrackerServer trackerServer = trackerClient.getConnection(); // 声明一个StorageServer对象,null。 StorageServer storageServer = null; // 获得StorageClient对象。 StorageClient storageClient = new StorageClient(trackerServer, storageServer); // 直接调用StorageClient对象方法上传文件即可。 String[] strings; strings = storageClient.upload_file("D:\test.jpg", "jpg", null); for (String string : strings) { System.out.println(string); //group1/ //M00/00/00/wKgCx1wHQ-aAYvtmAACxjYqFSkc019.jpg } } catch (Exception e) { e.printStackTrace(); } }
下载
@Test public void download(){ try { // 初始化全局配置。加载一个配置文件 ClientGlobal.initByProperties("dfs.properties"); // 创建一个TrackerClient对象 TrackerClient tracker = new TrackerClient(); // 创建一个TrackerServer对象。 TrackerServer trackerServer = tracker.getConnection(); // 声明一个StorageServer对象, StorageServer storageServer = null; // 获得StorageClient对象 StorageClient storageClient = new StorageClient(trackerServer, storageServer); byte[] b = storageClient.download_file("group1", "M00/00/00/wKgCx1wHQ-aAYvtmAACxjYqFSkc019.jpg"); System.out.println(b); // 将下载的文件流保存 IOUtils.write(b, new FileOutputStream("D:/"+UUID.randomUUID().toString()+".jpg")); } catch (Exception e) { e.printStackTrace(); } }
以上是关于FastDFS的主要内容,如果未能解决你的问题,请参考以下文章
分布式文件服务器FastDFS之“文件上传后(JAVA),前(AngularJS)端代码"