前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FastDFS的使用

FastDFS的使用

作者头像
用户5927264
发布2019-07-31 18:43:29
4520
发布2019-07-31 18:43:29
举报
文章被收录于专栏:OSChinaOSChina

FastDFS安装(http://blog.csdn.net/LoveCarpenter/article/details/75913329)

FastDFS的使用 (基本使用)

tracker_server=192.168.36.20:22122
package FastDFS;

import org.csource.fastdfs.ClientGlobal;
import org.csource.fastdfs.StorageClient;
import org.csource.fastdfs.StorageServer;
import org.csource.fastdfs.TrackerClient;
import org.csource.fastdfs.TrackerServer;
import org.junit.Test;

/**
 * 
 * @author: SHF
 * @date: 2017年12月15日 下午4:21:30
 * @Description: 对我的图片服务器进行测试
 */
public class FastDFSTest {

	/**
	 * 测试图片服务器是否能使用
	 */
	@Test
	public void testFastDFS() throws Exception{
		//1 创建一个配置文件,文件名任意,内容就是tracker服务器的地址
		
		//2 使用全局对象加载配置文件(暂时使用全文件名)
		ClientGlobal.init("E:/Eclipse/Graduation-Project/Graduation-Project/Graduation-manager-web/src/main/resources/FastDFS/fastdfsServer.conf");
		
		//3 创建TrackerClient对象
		TrackerClient trackerClient=new TrackerClient();
		
		//4 通过TrakcerClient对象来获得一个trackerServier对像
		TrackerServer trackerServer=trackerClient.getConnection();
		
		//5 创建一个StorageServier的引用,可以是null
		StorageServer storageServer=null;
		
		//6 创建一个StorageClient,参数使用TrackerServer和StrorageServer
		StorageClient storageClient=new StorageClient(trackerServer, storageServer);
		
		//7 使用StorageClient上传文件.
		String [] str=storageClient.upload_file("C:/Users/Public/Pictures/Sample Pictures/Chrysanthemum.jpg", "jpg", null);
	
		for(String string_name:str){
			System.out.println(string_name);
		}
	}
}

对上述步骤进行封装

package com.shi.util;

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);
	}
}

封装测试

package test;

import org.junit.Test;

import com.shi.util.FastDFSClient;

public class FastDFSClientTest {

	@Test
	public void testFastDFSClien(){
		try {
			FastDFSClient fastDFSClient =new FastDFSClient("E:/Eclipse/Graduation-Project/Graduation-Project/Graduation-manager-web/src/main/resources/FastDFS/fastdfsServer.conf");
			String name=fastDFSClient.uploadFile("C:/Users/Public/Pictures/Sample Pictures/Chrysanthemum.jpg" ,"jpg");
			System.out.println(name);
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • FastDFS的使用 (基本使用)
  • 对上述步骤进行封装
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档