• FastDFS 工具类实现文件上传_02


    一、jar 包 

      jar包下载:https://pan.baidu.com/s/1nwkAHU5 密码:tlv6

      或者

      下载工程,安装到 maven 本地仓库

      工程下载:https://pan.baidu.com/s/1i6SIm3b 密码:jkjt

    二、工具类代码

    package com.common.fastFDS;
    
    import org.csource.common.NameValuePair;
    import org.csource.fastdfs.ClientGlobal;
    import org.csource.fastdfs.StorageClient1;
    import org.csource.fastdfs.StorageServer;
    import org.csource.fastdfs.TrackerClient;
    import org.csource.fastdfs.TrackerServer;
    
    public class FastDFSClient 
    {
    
        private TrackerClient trackerClient = null;
        private TrackerServer trackerServer = null;
        private StorageServer storageServer = null;
        private StorageClient1 storageClient = null;
        
        public FastDFSClient(String conf) throws Exception 
        {
            if (conf.contains("classpath:")) 
            {
                conf = conf.replace("classpath:", this.getClass().getResource("/").getPath());
            }
            ClientGlobal.init(conf);
            trackerClient = new TrackerClient();
            trackerServer = trackerClient.getConnection();
            storageServer = null;
            storageClient = new StorageClient1(trackerServer, storageServer);
        }
        
        /**
         * 上传文件方法
         * <p>Title: uploadFile</p>
         * <p>Description: </p>
         * @param fileName 文件全路径
         * @param extName 文件扩展名,不包含(.)
         * @param metas 文件扩展信息
         * @return
         * @throws Exception
         */
        public String uploadFile(String fileName, String extName, NameValuePair[] metas) throws Exception 
        {
            String result = storageClient.upload_file1(fileName, extName, metas);
            return result;
        }
        
        public String uploadFile(String fileName) throws Exception 
        {
            return uploadFile(fileName, null, null);
        }
        
        public String uploadFile(String fileName, String extName) throws Exception 
        {
            return uploadFile(fileName, extName, null);
        }
        
        /**
         * 上传文件方法
         * <p>Title: uploadFile</p>
         * <p>Description: </p>
         * @param fileContent 文件的内容,字节数组
         * @param extName 文件扩展名
         * @param metas 文件扩展信息
         * @return
         * @throws Exception
         */
        public String uploadFile(byte[] fileContent, String extName, NameValuePair[] metas) throws Exception 
        {
            
            String result = storageClient.upload_file1(fileContent, extName, metas);
            return result;
        }
        
        public String uploadFile(byte[] fileContent) throws Exception 
        {
            return uploadFile(fileContent, null, null);
        }
        
        public String uploadFile(byte[] fileContent, String extName) throws Exception 
        {
            return uploadFile(fileContent, extName, null);
        }
    }

     三、测试代码

    @Test
    public void testFastFDSClient() throws Exception
    {
        //1.创建一个配置文件 client.conf (该文件名任意)
        //配置文件内容:tracker_server=192.168.**.**:22122 (你自己 FastDFS 服务器 ip+端口号)
        
        //2.创建 fastDFSClient 实例
        FastDFSClient fastDFSClient = new FastDFSClient("E:/workspaces/conf/client.conf");
        
        //3.执行图片上传,并返回图片路径
        String string = fastDFSClient.uploadFile("C:/waiguoren.jpg");
        System.out.println(string);
    }

    四、

     可以借鉴:http://www.cnblogs.com/fangwu/p/8367293.html

  • 相关阅读:
    Android自动化测试解决方案
    Oracle数据库的DML命令的处理过程详解
    Oracle数据库的BULK COLLECT用法之批量增删改
    建设DevOps能力,实现业务敏捷
    强大的C# Expression在一个函数求导问题中的简单运用
    Visual Studio 11开发者预览版发布(附下载)
    js table隔行变色
    编译原理语法推导树
    巧用数据库归档技术解决性能下降问题
    编译原理正规式和有限自动机
  • 原文地址:https://www.cnblogs.com/fangwu/p/8367318.html
Copyright © 2020-2023  润新知