SpringBoot整合Fastdfs,实现图片上传(IDEA)

我们部署Fastdfs,就是为了实现文件的上传。

现在使用idea整合Fastdfs,实现图片上传

部署环境:Centos7部署分布式文件存储(Fastdfs)

利用Java客户端调用FastDFS

服务器安装完毕后,咱们通过Java调用fastdfs

加载Maven依赖

fastdfs 没有在中心仓库中提供获取的依赖坐标。

只能自己通过源码方式编译,打好jar 包,安装到本地仓库。

官方仓库地址:

https://github.com/happyfish100/fastdfs-client-java

直接用idea 直接把这个源码作为模块导入工程

 

别的不用改,只把pom.xml中的版本改成1.27。

然后右边 执行install 就好了

安装好了 ,别的模块就可以直接使用这个坐标了。

    <dependency>
            <groupId>org.csource</groupId>
            <artifactId>fastdfs-client-java</artifactId>
            <version>1.27-SNAPSHOT</version>
        </dependency>

而这个fastdfs-client-java模块可以从idea 中删除。

然后可以进行一下上传的测试

 

package com.atguigu.gmall.manage;

import org.csource.common.MyException;
import org.csource.fastdfs.ClientGlobal;
import org.csource.fastdfs.StorageClient;
import org.csource.fastdfs.TrackerClient;
import org.csource.fastdfs.TrackerServer;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.io.IOException;

@RunWith(SpringRunner.class)
@SpringBootTest
public class GmallManageWebApplicationTests {


    @Test
    public void contextLoads() throws IOException, MyException {

        //配置fdfs的全局连接地址
        String tracker = GmallManageWebApplicationTests.class.getResource("/tracker.conf").getPath();//获取配置文件路径

        ClientGlobal.init(tracker);

        TrackerClient trackerClient = new TrackerClient();
        //获得一个trackerserver的实例
        TrackerServer trackerServer = trackerClient.getConnection();
        //通过tracker获得storage客户端
        StorageClient storageClient = new StorageClient(trackerServer, null);

        String[] uploadInfos = storageClient.upload_file("g:/9.gif", "gif", null);

        String url="http://192.168.116.129";

        for (String uploadInfo : uploadInfos){
            url+="/"+uploadInfo;

        }
        System.out.println(url);
    }
}

加入tracker.conf文件

tracker_server=192.168.67.162:22122

# 连接超时时间,针对socket套接字函数connect,默认为30秒
connect_timeout=30000

# 网络通讯超时时间,默认是60秒
network_timeout=60000

打印结果

 

这个打印结果实际上就是我们访问的路径,加上服务器地址我们可以拼接成一个字符串

http://192.168.116.129/group1/M00/00/00/wKh0gV2dHmGAFpUzAA7-f54U48M105.gif

直接放到浏览器去访问

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南宫乘风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值