zoukankan      html  css  js  c++  java
  • 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);
    }
    }
    }

  • 相关阅读:
    【BZOJ4979】凌晨三点的宿舍(分治)
    【BZOJ5469】【FJOI2018】—领导集团问题(线段树合并)
    【BZOJ5470】【FJOI2018】—所罗门王的宝藏(BFS)
    【BZOJ5252】【洛谷P4383】【2018九省联考】—林克卡特树(二分+树形dp)
    【BZOJ5251】【九省联考2018】—劈配(网络流)
    【BZOJ5250】【2018九省联考】—秘密袭击(树形dp)
    【BZOJ5249】【九省联考2018】—IIIDX(线段树)
    【BZOJ5248】【九省联考2018】—一双木棋(轮廓线dp)
    【BZOJ5337】【TJOI2018】—STR(后缀自动机+dp)
    node-mongo-服务器封装
  • 原文地址:https://www.cnblogs.com/chinaifae/p/10254334.html
Copyright © 2011-2022 走看看