图片服务器工具类
package com.iss.ioc.common.fileload.api.util;
import org.csource.common.NameValuePair;
import org.csource.fastdfs.*;
FastDFSClient类
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 = trackerClient.getStoreStorage(trackerServer);
// 获取存储器客户端对象
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);
}
/**
* 文件下载
* @param fileId 不带ip的文件id 如:group1/M00/00/00/Cj21e1xUFruAByo4AAFBfDfMApQ838.jpg
* @return
* @throws Exception
*/
public byte[] downloadFile(String fileId)throws Exception{
byte[] bytes = storageClient.download_file1(fileId);
return bytes;
}
/**
* 文件删除
* @param fileId 不带ip的文件id 如:group1/M00/00/00/Cj21e1xUFruAByo4AAFBfDfMApQ838.jpg
* @return -1 失败, 0 成功;
*/
public Integer deleteFile(String fileId) {
int result = -1;
try {
result = storageClient.delete_file1(fileId);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
}
FastDFSClient类
package com.iss.ioc.common.fileload.api.util;
import org.csource.common.NameValuePair;
import org.csource.fastdfs.*;
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 = trackerClient.getStoreStorage(trackerServer);
// 获取存储器客户端对象
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);
}
/**
* 文件下载
* @param fileId 不带ip的文件id 如:group1/M00/00/00/Cj21e1xUFruAByo4AAFBfDfMApQ838.jpg
* @return
* @throws Exception
*/
public byte[] downloadFile(String fileId)throws Exception{
byte[] bytes = storageClient.download_file1(fileId);
return bytes;
}
/**
* 文件删除
* @param fileId 不带ip的文件id 如:group1/M00/00/00/Cj21e1xUFruAByo4AAFBfDfMApQ838.jpg
* @return -1 失败, 0 成功;
*/
public Integer deleteFile(String fileId) {
int result = -1;
try {
result = storageClient.delete_file1(fileId);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
}
配置文件fdfs_client.properties
tracker_server=127.0.0.0:8888
FILE_SERVER_URL=http://127.0.0.0/
SERVER_IP_ON=true
charset=UTF-8
http.secret_key=FastDFS1234567890