准备
- 下载
fastdfs-client-java
源码
源码地址 密码:s3sw
修改
pom.xml
第一个plugins是必需要的,是maven用来编译的插件,第二个是maven打源码包的,可以不要。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<encoding>UTF-8</encoding>
<source>${jdk.version}</source>
<target>${jdk.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>将
fastdfs-client-java
打包
直接项目右键,run as maven install
install成功后,fastdfs-client-java就成功的被安装到本地仓库了。
编写工具类:
- 把
fdfs_client.conf
文件复制一份放到自己项目的resource下面;修改里面的tracker.server
,其它的都不用动: - 在项目的
pom.xml
中添加依赖1
2
3
4
5<dependency>
<groupId>org.csource</groupId>
<artifactId>fastdfs-client-java</artifactId>
<version>1.27-SNAPSHOT</version>
</dependency>
- 首先来实现文件上传,
fastdfs-client-java
的上传是通过传入一个byte[ ]来完成的,简单看一下源码:1
2
3
4
5public String[] upload_file(byte[] file_buff, String file_ext_name,
NameValuePair[] meta_list) throws IOException, MyException{
final String group_name = null;
return this.upload_file(group_name, file_buff, 0, file_buff.length, file_ext_name, meta_list);
}
文件属性
1 | package com.wuwii.utils; |
编写FastDFS工具类
1 | package com.wuwii.utils; |
测试Controller
1 | package com.wuwii.controller; |
最后附上读取配置文件的工具类PropertyUtil
1 | package com.wuwii.utils; |
测试
上传!
下载
下载就很简单了,因为直接获得到二进制流了,返回给客户端即可。
下载需要主要的是,要注意从FastDFS返回的文件名是这种随机码,因此我们需要在上传的时候将文件本身的名字存到数据库,再到下载的时候对文件头重新设置名字即可。