FastDFS-31java操作样例

  • 配置文件信息
    fdfs_client.conf

    connect_timeout=10
    network_timeout=30
    charset=UTF-8
    # tracker Http端口
    http.tracker_http_port=8000
    http.anti_steal_token=no   #暂无作用
    http.secret_key=FastDFS1234567890   #暂无作用
    
    #tracker连接地址
    tracker_server=192.168.47.203:22122
    tracker_server=192.168.47.204:22122
    
  • maven配置
    pom.xml

    <repositories>
        <repository>
            <id>yonyoucloud</id>
            <name>yonyoucloud repository</name>
            <url>http://maven.yonyoucloud.com/nexus/content/repositories/releases/</url>
        </repository>
    </repositories>
    
     <dependencies>
        <dependency>
            <groupId>org.csource</groupId>
            <artifactId>fastdfs-client-java</artifactId>
            <version>1.27-RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.2</version>
        </dependency>
    </dependencies>
    
    
  • java操作代码

    /**
    * @Author: silly
    * @Date: 2019/7/17 21:35
    * @Version 1.0
    * @Desc
    */
    public class FastDFSClient {
    	//获取配置文件地址
    	private static final String CONF_FILENAME = 	Thread.currentThread().getContextClassLoader().getResource("fdfs_client.conf").getPath();
    	private static StorageClient1 storageClient = null;
    
    	//加载文件
    	static {
        	try {
            	ClientGlobal.init(CONF_FILENAME);
            	TrackerClient trackerClient = new TrackerClient(ClientGlobal.g_tracker_group);
            	TrackerServer trackerServer = trackerClient.getConnection();
            	if (trackerServer == null) {
                	throw new RuntimeException("getConnection return null");
            	}
            	StorageServer storageServer = trackerClient.getStoreStorage(trackerServer);
            	if (storageServer == null) {
                	throw new RuntimeException("getStoreStorage return null");
            	}
            	storageClient = new StorageClient1(trackerServer, storageServer);
        	} catch (Exception ex) {
            	ex.printStackTrace();
        	}
    	}
    
    	/**
     	* 上传文件
     	*
     	* @param fileName 文件全路径
     	* @param extName  文件扩展名,不包含(.)
     	* @param metas    文件扩展信息
     	* @return
     	*/
    	public static String uploadFile(String fileName, String extName, NameValuePair[] metas) {
        	String result = null;
        	try {
            	result = storageClient.upload_file1(fileName, extName, metas);
       		 } catch (IOException e) {
           	 	e.printStackTrace();
        	} catch (MyException e) {
            	e.printStackTrace();
        	}
        	return result;
    	}
    
    	/**
     	* 上传文件
     	*
     	* @param fileName 文件全路径
     	* @return null为失败
     	*/
    	public static String uploadFile(String fileName) {
        	return uploadFile(fileName, null, null);
    	}
    
    	/**
     	* 上传文件
     	*
     	* @param fileName 文件全路径
     	* @param extName  文件扩展名,不包含(.)
     	* @return
     	*/
    	public static String uploadFile(String fileName, String extName) {
        	return uploadFile(fileName, extName, null);
    	}
    
    	/**
     	* 上传文件
     	*
     	* @param fileContent 文件的内容,字节数组
     	* @param extName     文件扩展名,不包含(.)
     	* @param metas       文件扩展信息
     	* @return
     	*/
    	public static String uploadFile(byte[] fileContent, String extName, NameValuePair[] metas) {
        	String result = null;
        	try {
            	result = storageClient.upload_file1(fileContent, extName, metas);
        	} catch (IOException e) {
            	e.printStackTrace();
        	} catch (MyException e) {
            	e.printStackTrace();
        	}
        	return result;
    	}
    
    	/**
     	* 下载文件
     	*
     	* @param fileId 上传返回的路径 如:group1/M00/00/00/wKgvzl0vLa-AXC0CAAAMQJGVNH4551.png
     	* @return
     	*/
    	public static InputStream download(String fileId) {
        	try {
            	byte[] bytes = storageClient.download_file1(fileId);
            	InputStream inputStream = new ByteArrayInputStream(bytes);
            	return inputStream;
        	} catch (Exception ex) {
            	return null;
        	}
    	}
    
    
    	/**
     	* @param fileId 上传返回的路径 如:group1/M00/00/00/wKgvzl0vLa-AXC0CAAAMQJGVNH4551.png
     	* @return 0成功 -1 失败
     	* @throws IOException
     	* @throws Exception
     	*/
    	public static Integer deleteFile(String fileId) {
        	int result = -1;
        	try {
            	result = storageClient.delete_file1(fileId);
        	} catch (IOException e) {
            	e.printStackTrace();
        	} catch (MyException e) {
            	e.printStackTrace();
        	}
        	return result;
    	}
    }
    

样例代码地址:https://github.com/tswine/sample/tree/master/fastdfs-sample/sample-fastdfs-client

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值