千家信息网

Java中怎么对FastDFS进行操作

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,Java中怎么对FastDFS进行操作,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。如果要想使用Java操作fastdfs那么需要首先取
千家信息网最后更新 2026年11月01日Java中怎么对FastDFS进行操作

Java中怎么对FastDFS进行操作,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

如果要想使用Java操作fastdfs那么需要首先取得可以操作它的程序包,本次使用的fastdfs开发包的版本为:fastdfs_client_v1.20.jar,同时为了方便配置,一般情况下在开发fastdfs的时候都会配置有一个专门的客户端的配置文件,那么一般这个配置文件都会保存在classpath位置之中,所以为了方便读取,直接使用Spring完成资源的读取

2.1、上传文件

1、建立一个新的项目:FastProject,并且将开发包配置到项目之中;

2、在src下建立一个fdfs_client.conf的配置文件,文件内容如下:

tracker_server=192.168.122.198:22122

3、编写程序实现上传:

package cn.mldn.demo;import java.io.File;import java.util.Arrays;import org.csource.common.NameValuePair;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.springframework.core.io.ClassPathResource;publicc lassFDFSUploadDemo{public static void main(String[]args) throws Exception{//1、设置一个上传文件的路径;File imgFile=new File("D:"+File.separator+"pic-c.jpg");//取得文件扩展名称String fileExtName=imgFile.getName().substring(imgFile.getName().lastIndexOf(".")+1);//2、读取上传的配置文件,此配置文件在CLASSPATH路径下ClassPathResource res=newClassPathResource("fdfs_client.conf");//3、初始化FastDFS上传的环境ClientGlobal.init(res.getClassLoader().getResource("fdfs_client.conf").getPath());//4、建立Tracker的客户端连接TrackerClient tracker=new TrackerClient();TrackerServert rackerServer=tracker.getConnection();//取得服务器连接//5、真正负责数据保存的是Storage StorageServer storageServer=null;//6、进行StoragerClient的创建StorageClient client=new StorageClient(trackerServer,storageServer);//7、创建文件的元数据对象 NameValuePair[] metaList=new NameValuePair[3];metaList[0]=newNameValuePair("fileName",imgFile.getName());metaList[1]=newNameValuePair("fileExtName",fileExtName);metaList[2]=newNameValuePair("fileLength",String.valueOf(imgFile.length()));//8、实现文件上传,返回文件的路径名称String[] fileId=client.upload_file(imgFile.getPath(),fileExtName,metaList);System.out.println(Arrays.toString(fileId));trackerServer.close();}}

此时返回的上传后的文件信息之中包含了两项内容:保存的组名称、保存的图片的路径。访问路径:http://192.168.122.198/group2/M00/00/00/wKh7ylg7zDCAZt1VAAL6dz7aOB0285.jpg但是这样上传太麻烦了,最搞笑的是在FastDFS里面如果要上传提供一堆方法:

StorageClient1 client=newStorageClient1(trackerServer,storageServer);StringfileId=client.upload_file1(imgFile.getPath(),fileExtName,metaList);

至于选择那种上传,看你自己的喜好了。

2.2、取得文件信息

文件已经上传完成了,那么下面也可以通过Fastdfs客户端取得文件的相关信息内容。范例:取得文件信息

packagecn.mldn.demo;importorg.csource.fastdfs.ClientGlobal;importorg.csource.fastdfs.FileInfo;importorg.csource.fastdfs.StorageClient1;importorg.csource.fastdfs.StorageServer;importorg.csource.fastdfs.TrackerClient;importorg.csource.fastdfs.TrackerServer;importorg.springframework.core.io.ClassPathResource;publicclassFDFSInfoDemo{
public static void main(String[] args)throwsException{ //1、读取上传的配置文件,此配置文件在CLASSPATH路径下ClassPathResource res=newClassPathResource("fdfs_client.conf");//2、初始化FastDFS上传的环境ClientGlobal.init(res.getClassLoader().getResource("fdfs_client.conf").getPath());//3、建立Tracker的客户端连接TrackerClient tracker=new TrackerClient();TrackerServer trackerServer=tracker.getConnection();//取得服务器连接//4、真正负责数据保存的是Storage StorageServerstorageServer=null;//5、进行StoragerClient的创建StorageClient1client=newStorageClient1(trackerServer,storageServer);//6、取得文件的相关信息 StringfileName="group2/M00/00/00/wKh7yVg7zQSAFqYWAAL6dz7aOB0479.jpg";FileInfo fi=client.get_file_info1(fileName);System.out.println("得到文件大小:"+fi.getFileSize());System.out.println("创建日期:"+fi.getCreateTimestamp());System.out.println("真实保存主机:"+fi.getSourceIpAddr());trackerServer.close();}}

现在它所取得都是真正保存在storage服务器上的文件信息。

2.3、删除文件

当某些信息不再使用的时候一定要将对应的图片的内容删除干净,所以下面来观察文件的删除处理。范例:删除文件.

importorg.csource.fastdfs.ClientGlobal;importorg.csource.fastdfs.StorageClient1;importorg.csource.fastdfs.StorageServer;importorg.csource.fastdfs.TrackerClient;importorg.csource.fastdfs.TrackerServer;importorg.springframework.core.io.ClassPathResource;
publicclassFDFSDeleteDemo{ publicstaticvoidmain(String[]args)throwsException{ //1、读取上传的配置文件,此配置文件在CLASSPATH路径下ClassPathResource res=newClassPathResource("fdfs_client.conf");//2、初始化FastDFS上传的环境ClientGlobal.init(res.getClassLoader().getResource("fdfs_client.conf").getPath());//3、建立Tracker的客户端连接TrackerClient tracker=newTrackerClient();TrackerServer trackerServer=tracker.getConnection();//取得服务器连接//4、真正负责数据保存的是Storage StorageServer storageServer=null;//5、进行StoragerClient的创建StorageClient1 client=newStorageClient1(trackerServer,storageServer);//6、取得文件的相关信息 StringfileName="group2/M00/00/00/wKh7yVg7zQSAFqYWAAL6dz7aOB0479.jpg";System.out.println(client.delete_file1(fileName));trackerServer.close(); }

而在删除之后如果删除成功则返回0,删除失败则返回2。这个时候在你以后的开发过程之中,如果再牵扯到所谓的电商系统,或者是新闻客户端。你一定要清楚,将文件两大的数据单独保存在一个文件服务器里,而后进行引用。

看完上述内容,你们掌握Java中怎么对FastDFS进行操作的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

文件 配置 信息 路径 内容 客户 客户端 数据 服务器 服务 之中 开发 名称 方法 时候 环境 图片 开发包 更多 程序 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 重庆科技学院互联网 玖二柒互联网科技公司待遇 互联网校园科技培训 迪庆互联网科技招生 内蒙古九一互联网科技 互联网公司黑科技创始人 用友工业互联网科技发展 伍佰万互联网科技怎么赚钱 电子商务与互联网科技的关系 广州百诚互联网科技有限公司官网 四川互联网展示科技馆设计 富国互联网金融科技混合基金 西安有哪些互联网高科技企业 普陀区互联网教育科技管理办法 互联网科技新闻 西安左小互联网科技有限公司 广西泛欧互联网科技有限公司 互联网的科技体现在哪里 杭州科技互联网公司有哪些 株洲百竞科技的互联网营销顾问 天津摩尔互联网科技 西安互联网科技公司 北京禾田雨橡互联网科技 沃里互联网科技 广州善班互联网科技 迪庆互联网科技招生 互联网科技大赛获奖感言 昆明中奇联合互联网科技 互联网科技接地气 互联网科技品牌
0