FastDFS实战(五)- Spring Boot集成FastDFS
2017-07-15 16:45
411 查看
源码下载地址:https://github.com/tobato/FastDFS_Client
application.yml
测试
一、 创建Spring Boot项目,并导入fastdfs依赖
<!--fastdfs 客户端依赖--> <dependency> <groupId>com.github.tobato</groupId> <artifactId>fastdfs-client</artifactId> <version>1.25.2-RELEASE</version> </dependency>
二、配置
入口类package com.baizhi; import com.github.tobato.fastdfs.FdfsClientConfig; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.EnableMBeanExport; import org.springframework.context.annotation.Import; import org.springframework.jmx.support.RegistrationPolicy; @Import(FdfsClientConfig.class) // 解决jmx重复注册bean的问题 @EnableMBeanExport(registration = RegistrationPolicy.IGNORE_EXISTING) @SpringBootApplication public class FastdfsClientApplication { public static void main(String[] args) { SpringApplication.run(FastdfsClientApplication.class, args); } }
application.yml
# ========================================================= # 分布式文件系统FDFS配置 # ========================================================= fdfs: soTimeout: 30 connectTimeout: 60 thumbImage: #缩略图生成参数 width: 150 height: 150 trackerList: #TrackerList参数,支持多个 - 192.168.128.141:22122 pool: max-total: 100 max-wait-millis: 60
测试
package com.baizhi; import com.github.tobato.fastdfs.domain.GroupState; import com.github.tobato.fastdfs.domain.StorePath; import com.github.tobato.fastdfs.proto.storage.DownloadByteArray; import com.github.tobato.fastdfs.service.FastFileStorageClient; import com.github.tobato.fastdfs.service.TrackerClient; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import java.io.*; import java.util.List; @RunWith(SpringRunner.class) @SpringBootTest public class FastdfsClientApplicationTests { @Autowired private FastFileStorageClient fastFileStorageClient; @Autowired private TrackerClient trackerClient; @Test public void contextLoads() { List<GroupState> groupStates = trackerClient.listGroups(); for (GroupState groupState : groupStates) { System.out.println(groupState); } } /** * 测试文件上传 */ @Test public void upload() { try { File file = new File("d:\\ds.jpg"); FileInputStream inputStream = new FileInputStream(file); //StorePath storePath = fastFileStorageClient.uploadFile(inputStream, file.length(), "jpg", null); //fastFileStorageClient.uploadSlaveFile(storePath.getGroup(),storePath.getPath(),inputStream,inputStream.available(),"a_",null); fastFileStorageClient.uploadSlaveFile("group1","M00/00/00/wKiAjVlpNjiAK5IHAADGA0F72jo578.jpg",inputStream,inputStream.available(),"a_",null); //System.out.println(storePath.getGroup() + " " + storePath.getPath()); inputStream.close(); } catch (Exception e) { e.printStackTrace(); } } /** * 测试上传缩略图 */ @Test public void uploadCrtThumbImage() { try { File file = new File("d:\\ds.jpg"); FileInputStream inputStream = new FileInputStream(file); // 测试上传 缩略图 StorePath storePath = fastFileStorageClient.uploadImageAndCrtThumbImage(inputStream, file.length(), "jpg", null); System.out.println(storePath.getGroup() + " " + storePath.getPath()); } catch (FileNotFoundException e) { e.printStackTrace(); } } /** * 测试文件下载 */ @Test public void download() { try { byte[] bytes = fastFileStorageClient.downloadFile("group1", "M00/00/00/wKiAjVlpMfiAagnbAADGA0F72jo134_150x150.jpg", new DownloadByteArray()); FileOutputStream stream = new FileOutputStream("a.jpg"); stream.write(bytes); } catch (IOException e) { e.printStackTrace(); } } /** * 测试文件删除 */ @Test public void deleteFile(){ fastFileStorageClient.deleteFile("group1","M00/00/00/wKiAjVlpQVyARpQwAADGA0F72jo566.jpg"); } }
相关文章推荐
- SpringBoot实践之---集成FastDFS
- Spring Boot实战:集成Swagger2
- SpringBoot+Maven项目实战(2):集成SpringBoot
- Java SpringBoot集成RabbitMq实战和总结
- Spring Boot集成Swagger2项目实战
- 使用Spring Boot集成FastDFS
- SpringBoot+Maven项目实战(4):集成Mybatis
- SpringBoot+Maven项目实战(5):集成分页插件
- Java SpringBoot集成RabbitMq实战和总结
- Spring Boot 集成 RabbitMQ 实战
- Spring Boot与Activiti集成实战
- 使用Spring Boot集成FastDFS的示例代码
- Spring Boot实战:集成Swagger2
- Spring BOOT 集成 RabbitMq 实战操作(一)
- SpringBoot+Maven项目实战(2):集成SpringBoot
- springboot(十八):使用Spring Boot集成FastDFS
- Spring Boot 集成 RabbitMq 实战操作(二)
- spring boot集成 ueditor(guns框架)
- springboot 集成redis实现session共享
- Spring Boot实战之数据库操作的示例代码