<dependency>
<groupId>com.github.tobato</groupId>
<artifactId>fastdfs-client</artifactId>
<version>1.27.2</version>
</dependency>
Controller类下:
import com.github.tobato.fastdfs.domain.fdfs.MetaData;
import com.github.tobato.fastdfs.domain.fdfs.StorePath;
import com.github.tobato.fastdfs.domain.fdfs.ThumbImageConfig;
@Autowired
private FastFileStorageClient storageClient;
@Autowired
private ThumbImageConfig thumbImageConfig;
/**
*
* @param pathname 文件上传本地路径
* @return
* @throws Exception
*/
@RequestMapping("/upload_thumbImage")
public Map<String,Object> upload_thumbImage(String pathname) throws Exception{
//上传图片的缩略图----默认保存是jpg
File file=new File(pathname);
StorePath storePath = this.storageClient.uploadImageAndCrtThumbImage(new FileInputStream(file), file.length(), "jpg", createMetaData());
String fullPath = thumbImageConfig.getThumbImagePath(storePath.getFullPath());
String url = fullPath;
Map<String,Object> result = new HashMap<>();
result.put("code", 200);
result.put("msg", "上传成功");
if (url.contains("null")){
url=url.substring(url.indexOf("l")+2);
}
url=fastHost+"/"+url;//为了可以直接返回包含服务器的地址
result.put("thumbImage_url", url);
if (url.contains("_150x150")){//和配置文件中的缩略图的宽高一致
int lastIndex=url.lastIndexOf("_");
url=url.substring(0,lastIndex)+url.substring(lastIndex+8);
result.put("url", url);
}
return result;
}
/**
* 创建元信息
*
* @return
*/
private Set<MetaData> createMetaData() {
Set<MetaData> metaDataSet = new HashSet<MetaData>();
metaDataSet.add(new MetaData("Author", "lucifer"));
metaDataSet.add(new MetaData("CreateDate",DateTools.getNowDateYYYY_MM_DD())); //这可以记录上传的时间
return metaDataSet;
}