Springboot+FastDFS上传下载文件

启动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和端口与其一致
完成!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值