启动FastDFS
首先按照我的FastDFS安装启动步骤启动Tracker,Storage,Nginx。确保成功之后再进行下一步
创建springboot项目
打开IDEA,点击右上角File,点击New—>Project
选择Springboot框架,点击Next
这里可以就默认,点击Next
这里的依赖把Web里面的Spring Web加上就行了,其实也可以不加,然后点击Next
设置Project name之后点击finish,项目就创建完成了
编写代码
1、首先得添加依赖,这里我提供了一个MVNrepository的链接,大家可以直接拷贝这里的依赖就行https://mvnrepository.com/artifact/net.oschina.zcx7878/fastdfs-client-java/1.27.0.0
复制这个依赖,添加到你项目中的pom.xml中
现在还不能写测试代码,还需要进行配置,在resources创建一个配置文件fastdfs-client.repository,至于里面的内容大家可以直接参考github上官方给的一个demo:https://github.com/happyfish100/fastdfs-client-java/blob/master/src/main/resources/fastdfs-client.properties.sample
直接复制这些代码拷贝到你的fastdfs-client.repository文件中,然后这里我们需要进行一点小修改。
把这里的ip和端口号改为你设置的Tracker的ip和端口号,然后就配置完成了。
2、然后就可以编写测试代码了,我这里直接把代码给了出来。在你的测试类当中去编写代码
首先是上传文件的测试代码:
@Test
void contextLoads() throws IOException, MyException {
//加载配置文件,注意后面的配置文件名和是你自己的配置文件名
ClientGlobal.initByProperties("fastdfs-client.properties");
TrackerClient trackerClient = new TrackerClient();
//连接到Tracker
TrackerServer trackerServer = trackerClient.getConnection();
//开始storage里面是什么都没有的
StorageServer storageServer = null;
StorageClient1 client1 = new StorageClient1(trackerServer,storageServer);
//保存你的原数据
NameValuePair pairs[] = null;
//选择自己的文件,第一个参数的路径,第二个参数是后缀名
String fileId = client1.upload_file1("D:\\IntelliJ IDEA\\text.jpg","jpg",pairs);
//打印出这个文件保存的路径
System.out.println(fileId);
}
如果中途提示某些函数或者库没有就按照提示添加相应的库就行了,根据我的注解你应该能大致读懂这个运行流程,现在运行你的这个测试类
运行成功之后你能找到一个和图中一样的文件id,这里的group1相当于就是storage里面的一个组,M00表示一个Storage Sevevr,后面的才是文件存储的路径。这个文件就需要去你的Ubuntu里面找了,参照另外一篇文档你的用户目录里面会有一个fastdfs文件夹,
在数据就放在 /home/yang/fastdfs/data这里的yang就要看你自己文件夹的名字了,然后就可以进入到这个文件路径查看文件
这里就可以看到你上传的图片了,你当然也可以在浏览器当中浏览你的文件,在文件id前加上设置FastDFS配置时设置的ip即可
到此,文件上传就结束了!!!
现在来说说文件的下载,同样就在刚才的测试类当中再写一个测试,因为和上面上传有所类似,所以就给了一点注释,相信你可以看懂
@Test
void download() throws IOException, MyException {
ClientGlobal.initByProperties("fastdfs-client.properties");
TrackerClient trackerClient = new TrackerClient();
TrackerServer trackerServer = trackerClient.getConnection();
StorageServer storageServer = null;
StorageClient1 client1 = new StorageClient1(trackerServer,storageServer);
//以byte数组来读取,file_id就是你上传文件的id
byte[] bytes = client1.download_file1("group1/M00/00/00/wKjbgmC13XCASLOcAANTyCD5QMI449.jpg");
//这里选择你下载文件的存储路径
FileOutputStream fos = new FileOutputStream(new File("D:\\Intellij IDEA\\success.jpg"));
fos.write(bytes);
fos.close();
}
运行你的这个测试类
去你设置的存储路径之中就可以看见你的这个文件了
请注意,一定要保证运行之前你的Ubuntu的ip与你在storage和Nginx配置时候的ip一致,还要保证你IDEA配置文件当中的ip和端口与其一致
完成!!!