最近做的项目需要把相关的录音文件上传到FastDFS服务器,因为之前没有做过,所以都是在网上找一些资源做参考,最后经过调试,终于可以上传成功了,接下来我来和大家分享我写的相关代码,其他就不讲解了,希望能做到大家参考着也能配置成功,在项目中使用:

1、首先添加maven的依赖

        <dependency><groupId>net.oschina.zcx7878</groupId><artifactId>fastdfs-client-java</artifactId><version>1.27.0.0</version></dependency>

2、添加配置文件:

文件内容:

fastdfs.connect_timeout_in_seconds=30fastdfs.network_timeout_in_seconds=60fastdfs.charset=UTF-8fastdfs.http_tracker_http_port=8888fastdfs.tracker_servers=127.0.01:22122

3、程序读取:

首先yml配置相关的配置项:

fdfs:trackerweb: http://127.0.0.1:8888/storage:serverip: 127.0.0.2serveripport: 23000storagepath: 0env: -testconfigFile: /data/fdfs_client-test.properties

然后添加相关的配置类:

@Configuration
@Slf4j
public class FastDFSConfig {@Value("${fdfs.storage.serverip}")private String storageServerIp;@Value("${fdfs.storage.serveripport}")private Integer storageServerPort;@Value("${fdfs.storage.storagepath}")private Integer storageServerPath;@Value("${fdfs.env}")private String env;@Value("${fdfs.configFile}")private String configFile;private TrackerClient trackerClient = null;private TrackerServer trackerServer = null;private StorageServer storageServer = null;private StorageClient1 storageClient = null;@PostConstructpublic void init() throws Exception {
//        String path = "fdfs_client" + env + ".properties";
//        Resource resource = new ClassPathResource(path);
//        String conf = resource.getFile().getCanonicalPath();
//        ClientGlobal.init(conf);Properties properties = new Properties();Resource resource = new FileSystemResource(configFile);properties.load(resource.getInputStream());ClientGlobal.initByProperties(properties);trackerClient = new TrackerClient();trackerServer = trackerClient.getConnection();storageServer = new StorageServer(storageServerIp,storageServerPort,storageServerPath);storageClient = new StorageClient1(trackerServer, storageServer);log.info("------ FastDFS配置加载完毕 ------");}@Beanpublic StorageClient storageClient(){return storageClient;}
}

其中加载配置文件分环境和读取文件系统两种方式,项目是springboot,我采用读取文件系统的方式读取配置文件,根据不同的项目架构来调整;

4、程序中来调用:

@Service
@Slf4j
public class FastDfsService {@Resourceprivate StorageClient1 storageClient;/*** 上传文件* @return*/public String uplaodFile(String hlFileUrl) {log.info(" ------ 语音文件路径:【{}】,执行上传操作 ------",hlFileUrl);String fileName = FilenameUtils.getName(hlFileUrl);String extensionName = FilenameUtils.getExtension(hlFileUrl);log.info(" ------ 语音文件名称:【{}】, 后缀名称:【{}】 ------",fileName,extensionName);InputStream inputStream = null;try {URL url = new URL(hlFileUrl);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setDoInput(true);conn.setRequestMethod("GET");inputStream = conn.getInputStream();byte[] fileContent = IOUtils.toByteArray(inputStream);String fastFullPath =  storageClient.upload_file1(fileContent,extensionName,null);//                String fastFullPath =  null;log.info(" ------ 语音文件:【{}】,上传FastDfs路径:【{}】 ------",fileName,fastFullPath);log.info(" ------ 语音文件:【{}】,上传成功 ------",fileName);return fastFullPath;}catch (Exception e){e.printStackTrace();log.info(" ------ 语音文件:【{}】,上传fastDfs异常:{} ------",fileName,e);}finally {try {if (inputStream != null){inputStream.close();}}catch (IOException e){}}return null;}}

这样就完成了相关的上传功能,还有其他的一些下载删除等,可以到网上搜索相关的API,本文不做更多的代码分享,希望我的内容给大家一些思路。

SpringBoot集成FastDFS的配合相关推荐

  1. SpringBoot集成FastDFS

    FastDFS是一款高性能的分布式文件系统.主要功能包括:文件存储,文件同步,文件访问(上传下载).它可以解决高容量和负载均衡的问题.FastDFS适合用来做文件相关的网站,如图片分享.视频分享等. ...

  2. SpringBoot集成FastDFS依赖实现文件上传

    前言 对FastDFS文件系统安装后的使用. FastDFS的安装请参考这篇:https://www.cnblogs.com/niceyoo/p/13511082.html 本文环境:IDEA + J ...

  3. springboot(十八):使用Spring Boot集成FastDFS

    上篇文章介绍了如何使用Spring Boot上传文件,这篇文章我们介绍如何使用Spring Boot将文件上传到分布式文件系统FastDFS中. 这个项目会在上一个项目的基础上进行构建. 1.pom包 ...

  4. (转)Spring Boot(十八):使用 Spring Boot 集成 FastDFS

    http://www.ityouknow.com/springboot/2018/01/16/spring-boot-fastdfs.html 上篇文章介绍了如何使用 Spring Boot 上传文件 ...

  5. SpringBoot集成Druid和数据库密码加密

    Druid是阿里开发的数据库连接池,通过简单的配置,可以实现数据库的连接,性能特别强大,可以在页面访问,包括监控数据库性能参数,慢SQL统计,当然还包括数据库连接等. 今天主要记录一下SpringBo ...

  6. Elasticsearch-Sql+Mybatis+SpringBoot集成

    Elasticsearch-Sql+Mybatis+SpringBoot集成 本文介绍了springboot如何集成elasticsearch-sql+mybatis rest方式使用es-sql J ...

  7. spring、springboot集成 log4j日志、log4j2日志以及slf4j

    1.查看pringboot自带的日志框架 新建一个springboot 工程,查看依赖树 通过查看依赖树可以发现,springboot自带被loggong管理的log4j .logback等日志相关的 ...

  8. SpringBoot集成Redis并使用Knife4j测试

    SpringBoot集成Redis并使用Knife4j测试 基于若依的ruoyi-vue前后端分离版本,若依官网:http://www.ruoyi.vip/ 项目目录结构 项目的目录结构如下: 1.新 ...

  9. SpringBoot 集成 Caffeine(咖啡因)最优秀的本地缓存

    SpringBoot 集成 Caffeine(咖啡因)最优秀的本地缓存 本地缓存 为什么用Caffeine做本地缓存 SpringBoot2.0+如何集成 Caffeine 引入依赖 开启缓存 容器配 ...

最新文章

  1. pandas使用sort_values函数对dataframe的日期数据列进行排序(设置ascending参数进行正序或者倒序排序)
  2. Git提交到多个远程仓库(多看两个文档)
  3. 在命令行窗口查看Maven版本时,出现 Error: JAVA_HOME is set to an invalid directory.的解决方法
  4. Linux驱动程序开发 - 设备IO
  5. modelsim仿真正确FPGA运行不正确的可能原因 - cm4写寄存器错
  6. 真实实验测试多少节电池可以点亮白炽灯泡!
  7. 拜托!不要再问我是否了解多线程了好吗
  8. java jar包中MANIFEST.MF中有版本信息
  9. Bash:把粘贴板上的内容拷贝的文件中。(脚本)
  10. 算法导论读书笔记(8)
  11. [asp.net mvc 奇淫巧技] 04 - 你真的会用Action的模型绑定吗?
  12. java工程mvn引用jar_maven 项目加载本地JAR
  13. zabbix服务器搭建
  14. macOS 上使用 lightgbm 遇到的坑及解决方法
  15. PHP基础知识之文件加载
  16. vscodemaven 配置_vscode配置maven的settings.json
  17. KVM通过qemu实现USB重定向
  18. 洛谷P3768 简单的数学题
  19. 如何使新浪播放器自动播放_七夕小子_新浪博客
  20. mysql中获取时间的年月日_Mysql获取系统时间,年,月,日

热门文章

  1. 《那些年啊,那些事——一个程序员的奋斗史》——75
  2. 互联网江湖录2——南少林盛大
  3. 回调地狱以及解决回调地狱 - promise嵌套变链接 - 解决终极办法 - async 和 await
  4. 编写一个python程序用来计算投资回收期_智慧职教云课堂Python程序设计基础(九江职业技术学院)题目答案...
  5. 一张Java常用单词表!Java So Easy!
  6. 宋鹏:微媒体联盟微信营销成功案例
  7. 移动CRM风起云涌 千亿级市场显现
  8. File类中的listFiles()方法
  9. 调用阿里大于发送短信验证码的限制次数
  10. android蓝牙模块有哪些类型,蓝牙串口模块是什么?怎么用?有哪些种类?