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);
    }
    }
    }

  • 相关阅读:
    v-charts 使用markline标线
    覆盖率平台(5)- 生成覆盖率报告
    覆盖率平台(4)- 测程启动
    覆盖率平台(3)- 测程
    覆盖率平台(2)- 服务配置
    vue路由this.route.push跳转页面不刷新
    递归对比json
    ssh远程执行遇到的一些坑
    免密git clone/git pull
    git用远程代码强制覆盖本地代码
  • 原文地址:https://www.cnblogs.com/chinaifae/p/10254334.html
Copyright © 2011-2022 走看看