java连接fast_Java操作FastDFS

public class FastDFS{private staticStorageClient storageClient;static{

String fdfsConfPath="";if(PropertiesUtil.class.getClassLoader().getResource("fdfs_client.conf")!=null){

fdfsConfPath= PropertiesUtil.class.getClassLoader().getResource("fdfs_client.conf").getFile();

}try{//使用全局方法加载配置文件

ClientGlobal.init(fdfsConfPath);//创建一个TrackerClient对象

TrackerClient tracker = newTrackerClient();//通过TrackerClient对象获得TrackerServer对象

TrackerServer trackerServer =tracker.getConnection();//创建StorageServer的引用,null就可以了

StorageServer storageServer = null;//创建一个StorageClient对象,其需要两个参数(TrackerServer 和 StorageServer),通过storageClient来进行操作

storageClient = newStorageClient(trackerServer, storageServer);

}catch(Exception e) {

e.printStackTrace();

}

}/*** 根据URL 或 byte[]上传图片

*@paramurl 本地图片地址"D:\\stsworkspace\\sprites.png";

*@paramext 本地图片后缀名"png"

*@paramnvp 自定义元数据

*@return可访问路径*/

publicString updateByUrl(T url,String ext,NameValuePair nvp []) {

StringBuffer sb= new StringBuffer("http://192.168.42.128:84/");try{

String[] strings= null;if(url instanceofString) {

strings=storageClient.upload_file((String)url, ext, nvp);

}else if(url instanceof byte[]) {

strings= storageClient.upload_file((byte[])url, ext, nvp);

}for(String str : strings) {

sb.append(str);

sb.append("/");

}

sb.deleteCharAt(sb.length()-1);

}catch(Exception e) {

e.printStackTrace();

}returnsb.toString();

}/*** 下载图片http://192.168.42.128:84/group1/M00/BC/B7/wKgqgls3YFCAW77-AAFY1Aipxfo426.jpg

*@paramgroup 组名 group1

*@paramurl 路径 M00/BC/B7/wKgqgls3YFCAW77-AAFY1Aipxfo426

*@paramext 类型 jpg*/

public voiddownByUrl(String group,String url,String ext) {try{byte[] b = storageClient.download_file(group, url+"."+ext);

System.out.println(b);

IOUtils.write(b,new FileOutputStream("C:/Users/Luke/Desktop/"+UUID.randomUUID().toString()+".jpg"));

}catch(Exception e) {

e.printStackTrace();

}

}/*** 获取文件信息http://192.168.42.128:84/group1/M00/BC/B7/wKgqgls3YFCAW77-AAFY1Aipxfo426.jpg

*@paramgroup 组名 group1

*@paramurl 路径 M00/BC/B7/wKgqgls3YFCAW77-AAFY1Aipxfo426

*@paramext 类型 jpg*/

public voidgetFileInfo(String group,String url,String ext) {try{

FileInfo fi= storageClient.get_file_info(group, url+"."+ext);

System.out.println(fi.getSourceIpAddr());

System.out.println(fi.getFileSize());

System.out.println(fi.getCreateTimestamp());

System.out.println(fi.getCrc32());

}catch(Exception e) {

e.printStackTrace();

}

}/*** 获取文件元数据

*@paramgroup 组名 group1

*@paramurl 路径 M00/BC/B7/wKgqgls3YFCAW77-AAFY1Aipxfo426

*@paramext 类型 jpg*/

public voidgetFileMate(String group,String url,String ext) {try{

NameValuePair nvps[]= storageClient.get_metadata(group, url+"."+ext);for(NameValuePair nvp : nvps) {

System.out.println(nvp.getName()+ ":" +nvp.getValue());

}

}catch(Exception e) {

e.printStackTrace();

}

}/*** 删除文件

*@paramgroup 组名 group1

*@paramurl 路径 M00/BC/B7/wKgqgls3YFCAW77-AAFY1Aipxfo426

*@paramext 类型 jpg*/

public voiddeleteFile(String group,String url,String ext) {try{int i = storageClient.delete_file(group, url+"."+ext);

System.out.println(i==0?"删除成功":"删除失败:"+i);

}catch(Exception e) {

e.printStackTrace();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值