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();
            }
        }
    有志者,事竟成,破釜沈舟,百二秦关终属楚。苦心人,天不负,卧薪尝胆,三千越甲可吞吴。
  • 相关阅读:
    VC++2012编程演练数据结构《25》线索二叉树
    VC++2012编程演练数据结构《26》最大堆二叉树
    VC++2012编程演练数据结构《19》散列文件
    VC++2012编程演练数据结构《21》二叉排序树
    VC++2012编程演练数据结构《23》二叉树排序
    VC++2012编程演练数据结构《22》常规排序算法
    VC++2012编程演练数据结构《27》最小堆二叉树
    VC++2012编程演练数据结构《20》索引文件
    自从来到了上海,开始工作以来就没怎么到博客园
    Graphics 单元中的类
  • 原文地址:https://www.cnblogs.com/menxn/p/10070703.html
Copyright © 2011-2022 走看看