FastDFS安装(http://blog.csdn.net/LoveCarpenter/article/details/75913329)
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();
}
}
}