热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

fastdfs删除过期文件_SpringBoot2.0整合FastDFS

前一篇,我们使用docker来部署FastDFS(见使用Docker来搭建fastdfs),这一天我们来试着使用SpringBoot2.0来访问Fast

前一篇,我们使用docker来部署FastDFS(见使用Docker来搭建fastdfs),这一天我们来试着使用SpringBoot2.0来访问FastDFS

采用maven配置

1、配置依赖包,修改pom文件

com.github.tobato fastdfs-client 1.26.5

2、springboot配置文件添加

fdfs: # 链接超时 connect-timeout: 60 # 读取时间 so-timeout: 60 # 生成缩略图参数 thumb-image: width: 150 height: 150 tracker-list: 192.168.72.130:22122

3、核心配置类

import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.EnableMBeanExport;import org.springframework.context.annotation.Import;import org.springframework.jmx.support.RegistrationPolicy;import com.github.tobato.fastdfs.FdfsClientConfig;@Configuration@Import(FdfsClientConfig.class)// Jmx重复注册bean的问题@EnableMBeanExport(registration = RegistrationPolicy.IGNORE_EXISTING)public class DfsConfig {}

4、文件工具类,自己按实际去修改

@Slf4jpublic class FileDfsUtil { @Resource private FastFileStorageClient storageClient ; /** * 上传文件 */ public String upload(MultipartFile multipartFile) throws Exception{ String originalFilename = multipartFile.getOriginalFilename(). substring(multipartFile.getOriginalFilename(). lastIndexOf(".") + 1); StorePath storePath = this.storageClient.uploadImageAndCrtThumbImage( multipartFile.getInputStream(), multipartFile.getSize(),originalFilename , null); return storePath.getFullPath() ; } /** * 删除文件 */ public void deleteFile(String fileUrl) { if (StringUtils.isEmpty(fileUrl)) { log.info("fileUrl == >>文件路径为空..."); return; } try { StorePath storePath = StorePath.parseFromUrl(fileUrl); storageClient.deleteFile(storePath.getGroup(), storePath.getPath()); } catch (Exception e) { log.info(e.getMessage()); } }

4、请求代码示例

@RequestMapping("/fastDfs")@ResponseBodypublic Object fastDfs() throws IOException{File fileRoot=new File("F:/images");File[] files=fileRoot.listFiles(); for(File file:files){ FileInputStream inputFile = new FileInputStream(file); byte[] buffer = new byte[(int)file.length()]; inputFile.read(buffer); inputFile.close(); return fileDfsUtil.uploadFile(Base64Utils.encodeToString(buffer), "jpg"); } return 1;}

请求上面接口后返回

2fddc9aa797f0a23165b01fbff5cf0e1.png

访问 nginx地址

http://127.0.0.1:8888/group1/M00/00/00/rBAGil5Xb5aAON-EAAJV6tHqsvQ252.jpg

可以显示图片,即为成功

需要注意的是必须保证springboot所在服务器可以访问storage的网络 例如可以访问storage:23000端口(当然tracker的端口也必须可以访问)



推荐阅读
author-avatar
Sn_杀手_451
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有