【FastDFS】使用方法

准备工作

1.导入FastDFS工程,maven install;
下载资源:https://download.csdn.net/download/francis123580/10598335

2.添加依赖

<dependency>
    <groupId>fastdfs_client</groupId>
    <artifactId>fastdfs_client</artifactId>
    <version>1.25</version>
</dependency>

3.添加配置文件 /resources/conf/client.conf

tracker_server=192.168.21.80:22122

普通调用

public void testUpload() throws Exception {
    //创建一个配置文件。文件名任意。内容就是tracker服务器的地址。
    //使用全局对象加载配置文件。
    ClientGlobal.init("D:/src/main/resources/conf/client.conf");
    //创建一个TrackerClient对象
    TrackerClient trackerClient = new TrackerClient();
    //通过TrackClient获得一个TrackerServer对象
    TrackerServer trackerServer = trackerClient.getConnection();
    //创建一个StrorageServer的引用,可以是null
    StorageServer storageServer = null;
    //创建一个StorageClient,参数需要TrackerServer和StrorageServer
    StorageClient storageClient = new StorageClient(trackerServer, storageServer);
    //使用StorageClient上传文件。
    String[] strings = storageClient.upload_file("D:/Pictures/images/94.jpg", "jpg", null);
    for (String string : strings) {
        System.out.println(string);
    }

}

FastDFS工具类使用

1.添加FastDFSClient 客户端工具类

import org.csource.common.NameValuePair;
import org.csource.fastdfs.ClientGlobal;
import org.csource.fastdfs.StorageClient1;
import org.csource.fastdfs.StorageServer;
import org.csource.fastdfs.TrackerClient;
import org.csource.fastdfs.TrackerServer;

public class FastDFSClient {

    private TrackerClient trackerClient = null;
    private TrackerServer trackerServer = null;
    private StorageServer storageServer = null;
    private StorageClient1 storageClient = null;

    public FastDFSClient(String conf) throws Exception {
        if (conf.contains("classpath:")) {
            conf = conf.replace("classpath:", this.getClass().getResource("/").getPath());
        }
        ClientGlobal.init(conf);
        trackerClient = new TrackerClient();
        trackerServer = trackerClient.getConnection();
        storageServer = null;
        storageClient = new StorageClient1(trackerServer, storageServer);
    }

    /**
     * 上传文件方法
     * <p>Title: uploadFile</p>
     * <p>Description: </p>
     * @param fileName 文件全路径
     * @param extName 文件扩展名,不包含(.)
     * @param metas 文件扩展信息
     * @return
     * @throws Exception
     */
    public String uploadFile(String fileName, String extName, NameValuePair[] metas) throws Exception {
        String result = storageClient.upload_file1(fileName, extName, metas);
        return result;
    }

    public String uploadFile(String fileName) throws Exception {
        return uploadFile(fileName, null, null);
    }

    public String uploadFile(String fileName, String extName) throws Exception {
        return uploadFile(fileName, extName, null);
    }

    /**
     * 上传文件方法
     * <p>Title: uploadFile</p>
     * <p>Description: </p>
     * @param fileContent 文件的内容,字节数组
     * @param extName 文件扩展名
     * @param metas 文件扩展信息
     * @return
     * @throws Exception
     */
    public String uploadFile(byte[] fileContent, String extName, NameValuePair[] metas) throws Exception {

        String result = storageClient.upload_file1(fileContent, extName, metas);
        return result;
    }

    public String uploadFile(byte[] fileContent) throws Exception {
        return uploadFile(fileContent, null, null);
    }

    public String uploadFile(byte[] fileContent, String extName) throws Exception {
        return uploadFile(fileContent, extName, null);
    }
}

2.客户端调用

public void testFastDfsClient() throws Exception {
    FastDFSClient fastDFSClient = new FastDFSClient("D:/src/main/resources/conf/client.conf");
    String string = fastDFSClient.uploadFile("D:/Pictures/images/86.jpg");
    System.out.println(string);
}

猜你喜欢

转载自blog.csdn.net/Francis123580/article/details/81603223