pom
<dependency>
<groupId>net.oschina.zcx7878</groupId>
<artifactId>fastdfs-client-java</artifactId>
</dependency>
配置文件
xuecheng:
fastdfs:
connect_timeout_in_seconds: 5
network_timeout_in_seconds: 30
charset: UTF-8
tracker_servers: 192.168.108.100:22122 #多个 trackerServer中间以逗号分隔
配置类
@Configuration
public class FastDfsConfig {
@Value("${xuecheng.fastdfs.tracker_servers}")
String tracker_servers;
@Value("${xuecheng.fastdfs.connect_timeout_in_seconds}")
int connect_timeout_in_seconds;
@Value("${xuecheng.fastdfs.network_timeout_in_seconds}")
int network_timeout_in_seconds;
@Value("${xuecheng.fastdfs.charset}")
String charset;
@Bean
public TrackerClient trackerClient() {
try {
ClientGlobal.initByTrackers(tracker_servers);
ClientGlobal.setG_connect_timeout(connect_timeout_in_seconds);
ClientGlobal.setG_network_timeout(network_timeout_in_seconds);
ClientGlobal.setG_charset(charset);
TrackerClient trackerClient = new TrackerClient();
return trackerClient;
} catch (Exception e) {
e.printStackTrace();
ExceptionCast.cast(FileSystemCode.FS_UPLOADFILE_SERVERFAIL);
}
return null;
}
}
上传方法
@Autowired
TrackerClient trackerClient;
public String upload_file(MultipartFile file) {
try {
TrackerServer trackerServer = trackerClient.getConnection();
StorageServer storeStorage = trackerClient.getStoreStorage(trackerServer);
StorageClient1 storageClient1 = new StorageClient1(trackerServer, storeStorage);
String originalFilename = file.getOriginalFilename();
String extName = originalFilename.substring(originalFilename.lastIndexOf(".") + 1);
String fileid = storageClient1.upload_file1(file.getBytes(), extName, null);
return fileid;
} catch (Exception e) {
e.printStackTrace();
ExceptionCast.cast(FileSystemCode.FS_UPLOADFILE_SERVERFAIL);
}
return null;
}