博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Springboot项目利用Java客户端调用FastDFS
阅读量:3886 次
发布时间:2019-05-23

本文共 2935 字,大约阅读时间需要 9 分钟。

服务器安装完毕后,测试通过Java调用fastdfs。

fastdfs的安装可以参考我的博文:

1.加载Maven依赖

fastdfs 没有在中心仓库中提供获取的依赖坐标。只能自己通过源码方式编译,打好jar 包,安装到本地仓库。

官方仓库地址:
可以在项目的根目录下使用git clone 命令,将代码下载
在这里插入图片描述

2.导入工程

随后可以用idea直接把这个源码作为模块导入工程

在这里插入图片描述
导入工程后,别的不用改,只把pom.xml中的版本改成1.27。
在这里插入图片描述

3.执行maven的install命令将项目打包入本地仓库

最后执行install

在这里插入图片描述
安装完成后就可以在自己的项目任意一个模块直接使用这个坐标了。

org.csource
fastdfs-client-java
1.27

上传测试

在你要使用fastdfs的项目模块中的resource中添加tracker.conf 配置文件

在这里插入图片描述
tracker.conf:

tracker_server=xxx.xxx.xxx.xxx:22122

# 连接超时时间,针对socket套接字函数connect,默认为30秒
connect_timeout=30000
# 网络通讯超时时间,默认是60秒
network_timeout=60000

@Testpublic void textFileUpload() throws IOException, MyException {
String file = this.getClass().getResource("/tracker.conf").getFile(); ClientGlobal.init(file); TrackerClient trackerClient=new TrackerClient(); TrackerServer trackerServer=trackerClient.getConnection(); StorageClient storageClient=new StorageClient(trackerServer,null); String orginalFilename="e://victor.jpg"; String[] upload_file = storageClient.upload_file(orginalFilename, "jpg", null); for (int i = 0; i < upload_file.length; i++) {
String s = upload_file[i]; System.out.println("s = " + s); }}

打印结果:

在这里插入图片描述
这个打印结果实际上就是我们访问的路径,加上服务器地址我们可以拼接成一个字符串:http://192.168.1.136/group1/M00/00/00/wKgBiF3u5IKAKPMPAAAl_GXv6Z4569_big.jpg 可以直接放到浏览器去访问
在这里插入图片描述

对接到业务模块中

修改业务模块中文件上传FileUploadController的方法

@RestController@CrossOriginpublic class FileUploadController {
@Value("${fileServer.url}") private String fileUrl; // http://localhost:8082/fileUpload @RequestMapping("fileUpload") public String fileUpload(MultipartFile file) throws IOException,MyException{
String imgUrl = fileUrl; if(file!=null) {
//上传哪张图片回显哪张图片 //表示读取配置文件中的tracker.conf String configFile = this.getClass().getResource("/tracker.conf").getFile(); //初始化 ClientGlobal.init(configFile); TrackerClient trackerClient = new TrackerClient(); TrackerServer trackerServer = trackerClient.getConnection(); //存储数据 StorageClient storageClient = new StorageClient(trackerServer, null); //String orginalFilename = "f://Temp//iu-006.jpg"; String orginalFilename = file.getOriginalFilename(); //获取文件后缀名 String extName = StringUtils.substringAfterLast(orginalFilename, "."); //保存数据 String[] upload_file = storageClient.upload_file(file.getBytes(), extName, null); for (int i = 0; i < upload_file.length; i++) {
String path = upload_file[i]; //System.out.println("s = " + s); imgUrl+="/"+path; // path = group1 // path = M00/00/00/wKgBiF3vcZKAbGnXAAttGURDaFU215.jpg } } return imgUrl; }}

利用@Value 标签可以引用application.properties中的值

在这里插入图片描述
注意:application.properties:fastdfs的路径是有http://

转载地址:http://epshn.baihongyu.com/

你可能感兴趣的文章
使用python执行cmd命令
查看>>
利用python脚本实现一招断网
查看>>
10行代码教你用python进行Dos攻击
查看>>
完善了一点的爬虫
查看>>
sqli-labs-master通关手册
查看>>
想要远程获取对方的桌面?Python教你一招搞定!
查看>>
给你打个QQ电话就能知道你在哪,你敢信?
查看>>
pip换源_命令行下一步到位
查看>>
python调用笔记本摄像头
查看>>
永恒之蓝(ms17-010)漏洞复现,进行简单后渗透信息收集
查看>>
简单的Dos命令/一行代码实现恶意程序
查看>>
[极客大挑战 2019]LoveSQL 1
查看>>
[极客大挑战 2019]PHP
查看>>
[极客大挑战 2019]Http
查看>>
[GXYCTF2019]Ping Ping Ping
查看>>
ZJNUCTF
查看>>
[极客大挑战 2019]BabySQL
查看>>
[ZJCTF 2019]NiZhuanSiWei
查看>>
[BUUCTF 2018]Online Tool
查看>>
[GXYCTF2019]BabySQli
查看>>