zoukankan      html  css  js  c++  java
  • 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();
            }
        }
    有志者,事竟成,破釜沈舟,百二秦关终属楚。苦心人,天不负,卧薪尝胆,三千越甲可吞吴。
  • 相关阅读:
    LINQ to SQL语句(9)之Top/Bottom和Paging和SqlMethods
    LINQ to SQL语句(8)之Concat/Union/Intersect/Except
    LINQ to SQL语句(7)之Exists/In/Any/All/Contains
    LINQ to SQL语句(6)之Group By/Having
    LINQ to SQL语句(5)之Order By
    LINQ to SQL语句(4)之Join
    LINQ to SQL语句(3)之Count/Sum/Min/Max/Avg
    LINQ to SQL语句(2)之Select/Distinct
    java 开发工具记录
    H5播放器内置播放视频(兼容绝大多数安卓和ios)
  • 原文地址:https://www.cnblogs.com/menxn/p/10070703.html
Copyright © 2011-2022 走看看