一.何为FastDfs?
FastDFS 是一款开源的分布式文件系统。充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,用于搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
简单描述
二.使用方法(f_Demo)
1.先配置一个fdfs虚拟机
记得放行端口号:
firewall-cmd --add-port=22122/tcp --permanent
firewall-cmd --add-port=23000/tcp --permanent
firewall-cmd --reload
使用demo:
1.在porm中配置文件
cn.bestwu
fastdfs-client-java
1.27
2.添加配置文件fdfs_client.conf ,将其中的服务器地址设置为192.168.188.146
tracker_server=192.168.188.146:22122
**3.创建java类TestStorageClient,代码如下:**
package fastDFSdemo;
import java.io.IOException;
import org.csource.common.MyException;
import org.csource.fastdfs.ClientGlobal;
import org.csource.fastdfs.StorageClient;
import org.csource.fastdfs.StorageServer;
import org.csource.fastdfs.TrackerClient;
import org.csource.fastdfs.TrackerServer;
public class TestStorageClient {
public static void main(String[] args) throws IOException, MyException {
// 1、加载配置文件,配置文件中的内容就是 tracker 服务的地址。
ClientGlobal.init("./src/main/resources/fdfs_client.conf");
// 2、创建一个 TrackerClient 对象。直接 new 一个。
TrackerClient trackerClient = new TrackerClient();
// 3、使用 TrackerClient 对象创建连接,获得一个 TrackerServer 对象。
TrackerServer trackerServer = trackerClient.getConnection();
// 4、创建一个 StorageServer 的引用,值为 null
StorageServer storageServer = null;
// 5、创建一个 StorageClient 对象,需要两个参数 TrackerServer 对象、StorageServer 的引用
StorageClient storageClient = new StorageClient(trackerServer, storageServer);
// 6、使用 StorageClient 对象上传图片。
//扩展名不带“.”
String[] strings = storageClient.upload_file("D:/chart/2.jpg", "jpg",
null);
// 7、返回数组。包含组名和图片的路径。
for (String string : strings) {
System.out.println(string);
}
}
}
控制台输出如下结果:
group1
M00/00/00/wKi8klv9PcCAN3w9AACSXEWdWYM543.jpg
在浏览器输入:
http://192.168.188.146/group1/M00/00/00/wKi8klv9PcCAN3w9AACSXEWdWYM543.jpg
即可看到所上传的图片。
**
三.实际使用
**
1.将文件上传的功能作为工具类 抽取出 到common模块
<dependency>
<groupId>cn.bestwu</groupId>
<artifactId>fastdfs-client-java</artifactId>
<version>1.27</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
</dependency>
2.配置使用的fdfs配置文件
将fdfs使用的配置文件拷贝到common的resource是下
3.实现图片上传的工具类 使用提供的资源(CV即