使用Spring Boot集成FastDFS
1、pom包配置
我们使用Spring Boot最新版本1.5.9、jdk使用1.8、tomcat8.0。
Java
加入了 fastdfs-client-java包,用来调用FastDFS相关的API。
2、配置文件
resources目录下添加 fdfs_client.conf文件
Java
配置文件设置了连接的超时时间,编码格式以及tracker_server地址等信息
3、封装FastDFS上传工具类
封装FastDFSFile,文件基础信息包括文件名、内容、文件类型、作者等。
Java
封装FastDFSClient类,包含常用的上传、下载、删除等方法。
首先在类加载的时候读取相应的配置信息,并进行初始化。
-
static{
-
try{
-
String filePath =newClassPathResource("fdfs_client.conf").getFile().getAbsolutePath();;
-
ClientGlobal.init(filePath);
-
trackerClient =newTrackerClient();
-
trackerServer = trackerClient.getConnection();
-
storageServer = trackerClient.getStoreStorage(trackerServer);
-
}catch(Exception e){
-
logger.error("FastDFS Client Init Fail!",e);
-
}
-
}
文件上传
-
publicstaticString[] upload(FastDFSFile file){
-
logger.info("File Name: "+ file.getName()+"File Length:"+ file.getContent().length);
-
NameValuePair[] meta_list =newNameValuePair[1];
-
meta_list[0]=newNameValuePair("author", file.getAuthor());
-
long startTime =System.currentTimeMillis();
-
String[] uploadResults =null;
-
try{
-
storageClient =newStorageClient(trackerServer, storageServer);
-
uploadResults = storageClient.upload_file(file.getContent(), file.getExt(), meta_list);
-
}catch(IOException e){
-
logger.error("IO Exception when uploadind the file:"+ file.getName(), e);
-
}catch(Exception e){
-
logger.error("Non IO Exception when uploadind the file:"+ file.getName(), e);
-
}
-
logger.info("upload_file time used:"+(System.currentTimeMillis()- startTime)+" ms");
-
if(uploadResults ==null){
-
logger.error("upload file fail, error code:"+ storageClient.getErrorCode());
-
}
-
String groupName = uploadResults[0];
-
String remoteFileName = uploadResults[1];
-
logger.info("upload file successfully!!!"+"group_name:"+ groupName +", remoteFileName:"+" "+ remoteFileName);
-
return uploadResults;
-
}
使用FastDFS提供的客户端storageClient来进行文件上传,最后将上传结果返回。
根据groupName和文件名获取文件信息。
Java
下载文件
Java
删除文件
Java
使用FastDFS时,直接调用FastDFSClient对应的方法即可。
4、编写上传控制类
从MultipartFile中读取文件信息,然后使用FastDFSClient将文件上传到FastDFS集群中。
Java
请求控制,调用上面方法 saveFile()。
Java
上传成功之后,将文件的路径展示到页面,效果图如下:
Java
在浏览器中访问此Url,可以看到成功通过FastDFS展示:
Java
这样使用Spring Boot 集成FastDFS的案例就完成了。
示例代码:https://github.com/ityouknow/spring-boot-examples
Java学习资料获取(复制下段连接至浏览器即可)
data:text/html;charset=UTF-8;base64,5p625p6E5biI5a2m5Lmg6LWE5paZ5YWN6LS56aKG5Y+W6K+35Yqg5omj5omj5Y+35pivMTAxODkyNTc4MA==
相关推荐
- Spring Boot中使用addViewController实现实现无业务逻辑跳转
- Spring-Boot集成thymealf的自助点单系统 (极简)(开源-附上地址链接)
- spring boot @mapper和@MapperScan怎么使用
- JavaEE技术分享:如何使用Spring Boot快速创建Web应用
- Spring Boot 2 - 使用CommandLineRunner与ApplicationRunner
- 从零学 spring cloud第1-3课:Spring Boot 之使用maven打包项目
- 深入Spring Boot (四):YAML属性配置文件使用详解
- spring-boot-admin监控使用自签发ssl证书服务。
- Spring boot 中 Spring Security 使用改造5部曲
- springboot:使用Jenkins部署Spring Boot
- springboot多文件上传
- spring boot 上传视频demo