• FastDfs java客户端上传、删除文件


    #配置文件

    connect_timeout = 2

    
    

    network_timeout = 30

    
    

    charset = UTF-8

    
    

    http.tracker_http_port = 9090

    
    

    http.anti_steal_token = no

    
    

    http.secret_key = FastDFS1234567890

    
    

    tracker_server = 192.168.248.128:22122

    
    

    #tracker_server = 192.168.0.119:22122

     
    package com.enation.newtest;
    
    import java.io.IOException;
    
    
    import org.junit.Test;
    
    
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    
    import java.util.UUID;
    
    import org.apache.commons.io.IOUtils;
    import org.csource.common.MyException;
    import org.csource.common.NameValuePair;
    import org.csource.fastdfs.ClientGlobal;
    import org.csource.fastdfs.FileInfo;
    import org.csource.fastdfs.StorageClient;
    import org.csource.fastdfs.StorageClient1;
    import org.csource.fastdfs.StorageServer;
    import org.csource.fastdfs.TrackerClient;
    import org.csource.fastdfs.TrackerServer;
    import org.junit.After;
    import org.junit.Before;
    
    
    public class TestFastDfs {
        
        public String conf_filename = "E:\fdfs_client.conf"; 
        //public String local_filename = "D:\stsworkspace\fastdfs-demo\src\main\resources\fdfs_client.conf";
        
        public String local_filename = "E:\2.jpg";
    
        @Before
        public void setUp() throws Exception {
        }
    
        @After
        public void tearDown() throws Exception {
        }
    
        @Test
        public void testUpload() {
    
            try { 
                ClientGlobal.init(conf_filename);
    
                TrackerClient tracker = new TrackerClient(); 
                TrackerServer trackerServer = tracker.getConnection(); 
                StorageServer storageServer = null;
                StorageClient1 client = new StorageClient1(trackerServer, storageServer); 
                
                StorageClient storageClient = new StorageClient(trackerServer, storageServer); 
    //          NameValuePair nvp = new NameValuePair("age", "18"); 
                NameValuePair nvp [] = new NameValuePair[]{ 
                        new NameValuePair("age", "18"), 
                        new NameValuePair("sex", "male") 
                }; 
                String fileIds[] = storageClient.upload_file(local_filename, "jpg", nvp);
                
                System.out.println(fileIds.length); 
                System.out.println("组名:" + fileIds[0]); 
                System.out.println("路径: " + fileIds[1]);
    
            } catch (FileNotFoundException e) { 
                e.printStackTrace(); 
            } catch (IOException e) { 
                e.printStackTrace(); 
            } catch (MyException e) { 
                e.printStackTrace(); 
            } 
        }
    
        @Test 
        public void testDownload() {
            try {
    
                ClientGlobal.init(conf_filename);
    
                TrackerClient tracker = new TrackerClient(); 
                TrackerServer trackerServer = tracker.getConnection(); 
                StorageServer storageServer = null;
    
                StorageClient storageClient = new StorageClient(trackerServer, storageServer); 
                byte[] b = storageClient.download_file("group1", "M00/00/00/wKgRcFV_08OAK_KCAAAA5fm_sy874.conf"); 
                System.out.println(b); 
                IOUtils.write(b, new FileOutputStream("D:/"+UUID.randomUUID().toString()+".conf"));
            } catch (Exception e) { 
                e.printStackTrace(); 
            } 
        }
        
        @Test 
        public void testGetFileInfo(){ 
            try { 
                ClientGlobal.init(conf_filename);
    
                TrackerClient tracker = new TrackerClient(); 
                TrackerServer trackerServer = tracker.getConnection(); 
                StorageServer storageServer = null;
    
                StorageClient storageClient = new StorageClient(trackerServer, storageServer); 
                FileInfo fi = storageClient.get_file_info("group1", "M00/00/00/wKgRcFV_08OAK_KCAAAA5fm_sy874.conf"); 
                System.out.println(fi.getSourceIpAddr()); 
                System.out.println(fi.getFileSize()); 
                System.out.println(fi.getCreateTimestamp()); 
                System.out.println(fi.getCrc32()); 
            } catch (Exception e) { 
                e.printStackTrace(); 
            } 
        } 
        
        @Test 
        public void testGetFileMate(){ 
            try { 
                ClientGlobal.init(conf_filename);
    
                TrackerClient tracker = new TrackerClient(); 
                TrackerServer trackerServer = tracker.getConnection(); 
                StorageServer storageServer = null;
    
                StorageClient storageClient = new StorageClient(trackerServer, 
                        storageServer); 
                NameValuePair nvps [] = storageClient.get_metadata("group1", "M00/00/00/wKgRcFV_08OAK_KCAAAA5fm_sy874.conf"); 
                for(NameValuePair nvp : nvps){ 
                    System.out.println(nvp.getName() + ":" + nvp.getValue()); 
                } 
            } catch (Exception e) { 
                e.printStackTrace(); 
            } 
        } 
        
        @Test 
        public void testDelete(){ 
            try { 
                ClientGlobal.init(conf_filename);
    
                TrackerClient tracker = new TrackerClient(); 
                TrackerServer trackerServer = tracker.getConnection(); 
                StorageServer storageServer = null;
    
                StorageClient storageClient = new StorageClient(trackerServer, 
                        storageServer); 
                int i = storageClient.delete_file("group1", "M00/00/00/wKgRcFV_08OAK_KCAAAA5fm_sy874.conf"); 
                System.out.println( i==0 ? "删除成功" : "删除失败:"+i); 
            } catch (Exception e) { 
                e.printStackTrace(); 
            } 
        }
    }
  • 相关阅读:
    c++中的内存管理【转载】
    c++中dynamic_cast、static_cast、reinterpret_cast和const_cast作用
    c++中的顶层const和底层const
    c++赋值操作符需要确保自我赋值的安全性问题
    二分法查找
    Servlet基础总结
    java 正则表达式:有丶东西
    HTTP协议初步认识
    Java synchronized到底锁住的是什么?
    ECMA Script 6新特性之解构赋值
  • 原文地址:https://www.cnblogs.com/jiafuwei/p/5777622.html
Copyright © 2020-2023  润新知