• 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);
    }
    }
    public class FastDFSTest {

    @Test
    public void testFileUpload() throws Exception {
    // 1、加载配置文件,配置文件中的内容就是tracker服务的地址。
    ClientGlobal.init("D:/workspaces-itcast/term197/taotao-manager-web/src/main/resources/resource/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:/Documents/Pictures/images/200811281555127886.jpg", "jpg", null);
    // 7、返回数组。包含组名和图片的路径。
    for (String string : strings) {
    System.out.println(string);
    }
    }
    }

  • 相关阅读:
    开发新技术展望系列课程(视频课程讲师:徐晓卓)
    VSTS风暴系列课程(视频课程讲师:王京京/王兴明/王然)
    Mysql索引的数据结构及索引优化
    CAP原则,分布式场景下为何只能取其二
    为什么使用Redission解决高并发场景分布式锁问题
    Java面试题(6)Redis
    外企英语面试常见问题及核心话术
    Nacos&Eureka&Zookeeper
    j2ee中DAO设计模式
    第一个随笔
  • 原文地址:https://www.cnblogs.com/chinaifae/p/10254334.html
Copyright © 2020-2023  润新知