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

fastdfs java客户端 下载_FastDFS java客户端文件上传demo相关推荐

  1. java 中传输文件的代码_java文件上传Demo(必看篇)

    说到文件上传我们要做到: 1.引入两个包:commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar 2.将form改为上传文件模式:enctype=" ...

  2. 【Java编程系列】Minio实现文件上传下载

    热门系列: [Java编程系列]Amazon S3实现文件上传下载 目录 热门系列: 1.前言 2.Minio实战代码 2.1 Minio环境部署 2.2 Minio的Sdk对接实现 2.2.1 Mi ...

  3. HDFS中JAVA API的使用(hadoop的文件上传和下载)

    HDFS是一个分布式文件系统,既然是文件系统,就可以对其文件进行操作,比如说新建文件.删除文件.读取文件内容等操作.下面记录一下使用JAVA API对HDFS中的文件进行操作的过程. 对分HDFS中的 ...

  4. Java Web项目中遇到的文件上传与下载问题

    (转发自:https://www.cnblogs.com/xdp-gacl/p/4200090.html)   在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中 ...

  5. 对象存储Minio 客户端工具类,实现文件上传、图像压缩、图像添加水印

    在搭建好了MInio分布式对象存储集群后,官方提供了MInio Client 各类语言的SDK,但是无法直接使用需要进一步封装,这里将JAVA 版的的SDK结合自身业务做个简单封装. Minio 中文 ...

  6. Apache HttpClient 客户端使用详解、文件上传、文件下载

    目录 HttpClient 概述与下载 Http Get 请求(文件下载) Http POST 请求(文件上传) Http Put 请求 Http Delete 请求 异步执行请求 HttpClien ...

  7. java 文件上传 demo_java文件上传Demo

    说到文件上传我们要做到: 1.引入两个包:commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar 2.将form改为上传文件模式:enctype=" ...

  8. 【java笔记】网络编程:文件上传案例

    原理:文件的复制 客户端读取本地的文件,把文件上传到服务器,服务器把上传的文件保存到服务器的硬盘上 步骤: 1.客户端使用本地的字节输入流,读取要上传的文件 2.客户端使用网路字节输出流,把读取的文件 ...

  9. java fileupload 进度_SpringBoot+fileUpload获取文件上传进度

    我本人在网上找了很多关于文件上传进度获取的文章,普遍基于spring MVC 框架通过 fileUpload 实现,对于spring Boot 通过 fileUpload 实现的帖子非常少,由于小弟学 ...

  10. dropzone java实例_Java实现拖拽文件上传dropzone.js的简单使用示例代码

    Java实习生一枚,前端知识薄弱,最近因为工作需要,做了一个拖拽文件上传的功能,发现dropzone.js挺不错的,特地做个笔记. 自己写的拖拽文件至一个按钮上传的功能,前端及java代码如下: js ...

最新文章

  1. 企业微信发送企业红包java_发放企业红包
  2. idea 如何看bytecode_IDEA字节码学习查看神器介绍
  3. 用shell编写的贪吃蛇游戏
  4. UA SIE545 优化理论基础0 优化建模7 二值变量的应用
  5. Docker Storm开发环境搭建
  6. matlab极大无关组,matlab最大无关组
  7. 【16】成对使用new和delete时要采取相同形式
  8. 【工大SCIR笔记】事实感知的生成式文本摘要
  9. Spring Boot 项目优化和Jvm调优 (楼主亲测,真实有效)
  10. 拓端tecdat|R语言自然语言处理(NLP):情感分析新闻文本数据
  11. LFSR:线性反馈移位寄存器及其应用
  12. WIN10添加策略组
  13. 基于单片机指纹考勤系统设计(论文毕设)全套资料
  14. 想成为CSS大师,你倒是学啊 -30个资源大推荐
  15. 本科生如何入门GNSS算法(二)- rtklib定位解算过程中的GNSS数据格式以及基本概念
  16. Android开发的参考书籍和参考网站
  17. ps命令,top命令,pstree命令,缓存和缓冲的区别
  18. linux操作系统基础北京邮电大学出版社,Linux操作系统与实训教程
  19. Anaconda or Miniconda windows下 cmd命令行模式创建、激活、关闭、删除虚拟环境方法步骤
  20. html表格不能横向自动展示,html table表格列数太多添加横向滚动条

热门文章

  1. 教你如何搭建自己的外卖小程序
  2. 修改manager server端口与appserver rest端口
  3. 什么是APS生产排程系统?
  4. 中国零售金融危机将在今后几年发生
  5. 【设计参考】GIS数据可视化展示配色案例(不定期更新)
  6. mvcnn代码详解_Tensorflow,OpenCV实现的CNN车牌识别代码
  7. HyperLPR车牌识别库代码分析(6)
  8. DWDM(密集波分复用)入门简介
  9. 图片怎么批量重命名?掌握这招轻松处理
  10. Python函数的变量域