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();
            }
        }
    有志者,事竟成,破釜沈舟,百二秦关终属楚。苦心人,天不负,卧薪尝胆,三千越甲可吞吴。
  • 相关阅读:
    [SoapUI] UrlEncode编码/UrlDecode解码网站
    [Token] 从index.jsp中获取Token
    [Groovy]获取当前活动的Environment,获取response中节点的name和节点的value
    [Cookie] Clear Cookie
    [Groovy] Groovy API
    [Schema] I have updated my XML Schema for my service but SoapUI still generates/validates according to the old schema.
    [SoapUI] SoapUI可以做到些什么?功能有多强大?
    [Training Video
    [JSON] Validating/Asserting JSON response with Jsonlurper
    华中农业大学第四届程序设计大赛网络同步赛 I
  • 原文地址:https://www.cnblogs.com/menxn/p/10070703.html
Copyright © 2011-2022 走看看