1、加载配置文件,配置文件中的内容就是tracker服务的地址。
配置文件内容:tracker_server=192.168.25.133:22122
2、创建一个TrackerClient对象。直接new一个。
3、使用TrackerClient对象创建连接,获得一个TrackerServer对象。
4、创建一个StorageServer的引用,值为null
5、创建一个StorageClient对象,需要两个参数TrackerServer对象、StorageServer的引用
6、使用StorageClient对象上传图片。
7、返回数组。包含组名和图片的路径。
代码
public class FastDfsTest { @Testpublic void upload() throws FileNotFoundException, IOException, MyException { /* 1、加载配置文件,配置文件中的内容就是tracker服务的地址。 配置文件内容:tracker_server=192.168.25.133:22122 2、创建一个TrackerClient对象。直接new一个。 3、使用TrackerClient对象创建连接,获得一个TrackerServer对象。 4、创建一个StorageServer的引用,值为null 5、创建一个StorageClient对象,需要两个参数TrackerServer对象、StorageServer的引用 6、使用StorageClient对象上传图片。 7、返回数组。包含组名和图片的路径。 访问直接通过http://192.168.*.*/group1/M00/00/00/wKgZhVsUpS-AM6AGAAAG7Pt2Lbc199.png*/ //1 ClientGlobal.init("G:\\e3shop\\e3-manager-web\\src\\test\\resources\\conf\\client.conf"); //2 TrackerClient trackerClient=new TrackerClient(); TrackerServer trackerServer = trackerClient.getConnection(); StorageServer storageServer=null; StorageClient storageClient=new StorageClient(trackerServer, storageServer); String[] upload_file = storageClient.upload_file("C:\\Users\\ZSC\\Pictures\\无标题.png", "png", null); for (String string : upload_file) { System.out.println(string); } } } |
封装工具类
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 testFastDfsClient() throws Exception { FastDFSClient fastDFSClient = new FastDFSClient(配置文件全路径); String file = fastDFSClient.uploadFile(文件全路径); System.out.println(file); } |