java连接fastDfs上传文件
<dependency>
<groupId>net.oschina.zcx7878</groupId>
<artifactId>fastdfs-client-java</artifactId>
<version>1.27.0.0</version>
</dependency>
/**
* 上传至fastDFS
*
* @param multipartFile 文件
* @param value fastDfs的Tracker服务地址
* @return 文件id
*/
public static String[] fdfsUploads(MultipartFile multipartFile, String value)
throws IOException, MyException {
// 1. 初始化fastDFS的环境
ClientGlobal.setG_charset(StandardCharsets.ISO_8859_1.name());
String[] split = value.split(":");
String ip = split[0];
int port = Integer.valueOf(split[1]);
InetSocketAddress inetSocketAddress = new InetSocketAddress(ip, port);
InetSocketAddress[] tracker_servers = new InetSocketAddress[] {inetSocketAddress};
TrackerGroup trackerGroup = new TrackerGroup(tracker_servers);
TrackerClient trackerClient = new TrackerClient(trackerGroup);
TrackerServer trackerServer = trackerClient.getConnection();
StorageServer storageServer = null;
StorageClient storageClient = new StorageClient(trackerServer, storageServer);
String originalFilename = multipartFile.getOriginalFilename();
String extName = originalFilename.substring(originalFilename.lastIndexOf(".") + 1);
InputStream inputStream = multipartFile.getInputStream();
NameValuePair[] metaList = new NameValuePair[3];
metaList[0] = new NameValuePair("fileName", originalFilename);
metaList[1] = new NameValuePair("fileExtName", extName);
metaList[2] = new NameValuePair("fileLength", String.valueOf(multipartFile.getSize()));
UploadFile us = new UploadFile(inputStream);
return storageClient.upload_file("group1", multipartFile.getSize(), us, extName, metaList);
}