FastDFS

FastDFS java 上传下载

  • 配置文件
    dfs.properties

      ## fastdfs-client
      
      fastdfs.connect_timeout_in_seconds=5
    
      fastdfs.network_timeout_in_seconds=30
    
      fastdfs.charset=UTF-8
    
      fastdfs.http_anti_steal_token=true
    
      fastdfs.http_secret_key=FastDFS1234567890
    
      fastdfs.http_tracker_http_port=80
    
      fastdfs.tracker_servers=file.ljzsg.com:22122
    

http_secret_key 对应 /etc/fdfs/http.conf 的http.anti_steal.secret_key

  • POM

      <dependency>
              <groupId>net.oschina.zcx7878</groupId>
              <artifactId>fastdfs-client-java</artifactId>
              <version>1.27.0.0</version>
       </dependency>
    
  • 上传

      @Test
      public void upload() {
          try {
              // 初始化全局配置。加载一个配置文件。
              ClientGlobal.initByProperties("dfs.properties");
              // 创建一个TrackerClient对象。
              TrackerClient trackerClient = new TrackerClient();
              // 创建一个TrackerServer对象。
              TrackerServer trackerServer = trackerClient.getConnection();
              // 声明一个StorageServer对象,null。
              StorageServer storageServer = null;
              // 获得StorageClient对象。
              StorageClient storageClient = new StorageClient(trackerServer, storageServer);
              // 直接调用StorageClient对象方法上传文件即可。
              String[] strings;
              strings = storageClient.upload_file("D:\\test.jpg", "jpg", null);
              for (String string : strings) {
    
                  System.out.println(string);
      		//group1/
      		//M00/00/00/wKgCx1wHQ-aAYvtmAACxjYqFSkc019.jpg
              }
          } catch (Exception e) {
              e.printStackTrace();
          }
      }
    
  • 下载

      @Test
      public void download(){
          try {
              // 初始化全局配置。加载一个配置文件
              ClientGlobal.initByProperties("dfs.properties");
              // 创建一个TrackerClient对象
              TrackerClient tracker = new TrackerClient();
              // 创建一个TrackerServer对象。
              TrackerServer trackerServer = tracker.getConnection();
              // 声明一个StorageServer对象,
              StorageServer storageServer = null;
              // 获得StorageClient对象
              StorageClient storageClient = new StorageClient(trackerServer, storageServer);
              byte[] b = storageClient.download_file("group1", "M00/00/00/wKgCx1wHQ-aAYvtmAACxjYqFSkc019.jpg");
              System.out.println(b);
              // 将下载的文件流保存
              IOUtils.write(b, new FileOutputStream("D:/"+UUID.randomUUID().toString()+".jpg"));
          } catch (Exception e) {
              e.printStackTrace();
          }
      }
    
posted @ 2018-12-05 14:22  为你撑起一片天  阅读(562)  评论(0编辑  收藏  举报