fastdfs java上传文件_FastDFS java客户端文件上传demo

该博客展示了如何在Spring MVC中集成FastDFS进行文件上传。代码详细演示了从读取配置文件到建立连接,再到上传文件并处理元信息的整个过程。FastDFS返回的fileId用于后续文件访问。配置文件fdfs_client.conf配置了连接超时、字符集等参数,并指定了tracker服务器地址。测试时需确保表单字段与接口参数一致。
摘要由CSDN通过智能技术生成

FastDFS不多讲,直接上java调用代码,以下代码是一个spring mvc中一个完整的上传请求,请参阅

@RequestMapping(value = "/upload", method = RequestMethod.POST)

@ResponseBody

public Object upload(@RequestParam MultipartFile file) {

UploadResponse res = new UploadResponse();

try {

if(file.isEmpty()){

res.setRet_code(UserCodeEnum.ERR_FILE_NULL.getCode());

res.setRet_msg(UserCodeEnum.ERR_FILE_NULL.getDesc());

}else{

logger.info("UserController-upload-request-file=" + file.getOriginalFilename());

String tempFileName = file.getOriginalFilename();

//fastDFS方式

ClassPathResource cpr = new ClassPathResource("fdfs_client.conf");

ClientGlobal.init(cpr.getClassLoader().getResource("fdfs_client.conf").getPath());

byte[] fileBuff = file.getBytes();

String fileId = "";

String fileExtName = tempFileName.substring(tempFileName.lastIndexOf("."));

//建立连接

TrackerClient tracker = new TrackerClient();

TrackerServer trackerServer = tracker.getConnection();

StorageServer storageServer = null;

StorageClient1 client = new StorageClient1(trackerServer, storageServer);

//设置元信息

NameValuePair[] metaList = new NameValuePair[3];

metaList[0] = new NameValuePair("fileName", tempFileName);

metaList[1] = new NameValuePair("fileExtName", fileExtName);

metaList[2] = new NameValuePair("fileLength", String.valueOf(file.getSize()));

//上传文件

fileId = client.upload_file1(fileBuff, fileExtName, metaList);

res.setHead_img(UserConstants.FILE_IMG_URL+fileId);

res.setRet_code(UserCodeEnum.SUCCESS.getCode());

res.setRet_msg(UserCodeEnum.SUCCESS.getDesc());

}

logger.info("UserController-upload-response-" + JsonUtils.o2j(res));

} catch (Exception e) {

res.setRet_code(UserCodeEnum.ERR_UNKNOWN.getCode());

res.setRet_msg(UserCodeEnum.ERR_UNKNOWN.getDesc());

logger.error("UserController-upload-error", e);

}

return res;

}

fileId是fastDFS返回的文件路径,fastDFS是可以使用自带的web服务访问文件,也可以集成第三方例如nginx。

fastDFS java客户端配置文件fdfs_client.conf配置如下:

connect_timeout = 30

network_timeout = 60

charset = ISO8859-1

http.tracker_http_port = 8090

http.anti_steal_token = no

http.secret_key = 123456

tracker_server = 192.168.11.***:22122

至此完成,通过网页简单测试即可,注意表单名称应与接口一直,命名为file

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值