• 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

    直接放到浏览器去访问

     

     

  • 相关阅读:
    Qt编写控件属性设计器12-用户属性
    C#中通过三边长判断三角形类型(三角形测试用例)
    C#中通过Selenium定位<a>标签的问题
    SharePoint自动化系列——Manage "Site Subscriptions" using PowerShell
    SharePoint API测试系列——Records.BypassLocks测试
    SharePoint API测试系列——对Recorded Item做OM操作(委托的妙用)
    放松时刻——C#分割字符串
    链表——PowerShell版
    栈——PowerShell版
    队列——PowerShell版
  • 原文地址:https://www.cnblogs.com/heian99/p/11972243.html
Copyright © 2020-2023  润新知