搭建环境

这里我们使用javaApi测试文件的上传,java版本的fastdfs-client地址在: https://github.com/happyfish100/fastdfs-client-java,参考此工程编写测试用例。

1)创建maven工程

pom.xml

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐starter‐parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<groupId>com.xuecheng</groupId>
<artifactId>test‐fastDSF</artifactId>
<version>1.0‐SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐starter‐web</artifactId>
</dependency>
<!‐‐ https://mvnrepository.com/artifact/net.oschina.zcx7878/fastdfs‐client‐java ‐‐>
<dependency>
<groupId>net.oschina.zcx7878</groupId>
<artifactId>fastdfs‐client‐java</artifactId>
<version>1.27.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐starter‐test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons‐io</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
</parent>

2) 配置 文件

在classpath:config下创建fastdfs-client.properties文件

fastdfs.connect_timeout_in_seconds = 5 #http连接超时时间
fastdfs.network_timeout_in_seconds = 30 #tracker与storage网络通信超时时间
fastdfs.charset = UTF‐8 #字符编码
fastdfs.tracker_servers = 192.168.101.64:22122 #tracker服务器地址,多个地址中间用英文逗号分隔

文件上传

//上传文件@Testpublic void testUpload() {try {ClientGlobal.initByProperties("config/fastdfs‐client.properties");System.out.println("network_timeout=" + ClientGlobal.g_network_timeout + "ms");System.out.println("charset=" + ClientGlobal.g_charset);//创建客户端TrackerClient tc = new TrackerClient();//连接tracker ServerTrackerServer ts = tc.getConnection();if (ts == null) {System.out.println("getConnection return null");return;}//获取一个storage serverStorageServer ss = tc.getStoreStorage(ts);if (ss == null) {System.out.println("getStoreStorage return null");}//创建一个storage存储客户端StorageClient1 sc1 = new StorageClient1(ts, ss);NameValuePair[] meta_list = null; //new NameValuePair[0];String item = "C:\\Users\\admin\\Desktop\\1.png";String fileid;fileid = sc1.upload_file1(item, "png", meta_list);System.out.println("Upload local file " + item + " ok, fileid=" + fileid);} catch (Exception ex) {ex.printStackTrace();}}

文件查询

//查询文件
@Test
public void testQueryFile() throws IOException, MyException {ClientGlobal.initByProperties("config/fastdfs‐client.properties");TrackerClient tracker = new TrackerClient();TrackerServer trackerServer = tracker.getConnection();StorageServer storageServer = null;StorageClient storageClient = new StorageClient(trackerServer,storageServer);FileInfo fileInfo =     storageClient.query_file_info("group1","M00/00/01/wKhlQFrKBSOAW5AWAALcAg10vf4862.png");System.out.println(fileInfo);
}

文件下载

//下载文件@Testpublic void testDownloadFile() throws IOException, MyException {ClientGlobal.initByProperties("config/fastdfs‐client.properties");TrackerClient tracker = new TrackerClient();TrackerServer trackerServer = tracker.getConnection();StorageServer storageServer = null;StorageClient1 storageClient1 = new StorageClient1(trackerServer,storageServer);byte[] result =storageClient1.download_file1("group1/M00/00/01/wKhlQFrKBSOAW5AWAALcAg10vf4862.png");File file = new File("d:/1.png");FileOutputStream fileOutputStream = new FileOutputStream(file);fileOutputStream.write(result);fileOutputStream.close();}

fastDFS分布式文件系统--文件上传/下载/查询完整代码实现相关推荐

  1. C++:FTP文件上传下载(附完整源码)

    C++:FTP文件上传下载 FTP文件下载 FTP文件上传 FTP文件下载 #include #include #include #pragma comment(lib, "WinInet. ...

  2. FastDFS(分布式文件系统)图片上传

    一.什么是FastDFS FastDFS是由淘宝的余庆先生所开发的一个开源的分布式文件系统.用纯C语言开发,功能丰富: 文件存储 文件同步 文件访问(上传.下载) 存取负载均衡 在线扩容 适合有大容量 ...

  3. Ajax 文件上传(前后端完整代码,注意修改文件保存路径\访问路径)

    一.前端代码: ① html 代码: 注意:如需要选择多个文件,进行上传,Ⅰ.multiple="multiple" 不能省 Ⅱ.选择时是 Ctrl + 你所要选择的文件,不要分多 ...

  4. 文件上传到服务器 完整代码,上传文件到服务器 前端+后台代码

    不是原创,但有必要记录一下,免得每次都找的很辛苦 html Select a File to Upload js function fileSelected() { var file = docume ...

  5. SpringMVC之拦截器和文件上传下载

    过滤器与拦截器的区别:拦截器是AOP思想的具体应用. 过滤器 : servlet规范中的一部分,任何java web工程都可以使用 在url-pattern中配置了/*之后,可以对所有要访问的资源进行 ...

  6. 关于SpringMVC框架实现简单的文件上传下载(ssm)

    关于ssm框架整合文件的上传和下载. 首先来看单个附件的上传和下载: 1.首先创建一个用来测试的jsp文件上传下载的页面  代码如下 <%@ page language="java&q ...

  7. webservice文件上传下载

    使用DataHandler实现webservice的文件上传下载 服务端代码: package com.hello.weChat.controller;import javax.activation. ...

  8. FastDFS 设计理念、文件上传、下载、同步、删除和断点续传原理

    一.FastDFS 系统架构和功能原理 1.架构详解 storage server:存储服务器(又称存储节点或数据服务器),文件和文件属性(meta data)都保存到存储服务器上.Storage s ...

  9. SB_5_瑞吉外卖_4_文件上传下载_菜品新增_菜品分页查询_菜品修改

    瑞吉外卖-Day04 课程内容 文件上传下载 菜品新增 菜品分页查询 菜品修改 1. 文件上传下载 1.1 上传介绍 1.1.1 概述 文件上传,也称为upload,是指将本地图片.视频.音频等文件上 ...

最新文章

  1. java创建线程安全的集合
  2. python队列线程池_实例详解:python高级编程之消息队列(Queue)与进程池(Pool)
  3. 鼠标一点打开几个网页
  4. Leetcode 300 最长递增子序列 (每日一题 20210803)
  5. Java里的容器存放的元素必须是1个对象.
  6. 完美解决Ubuntu16.04虚拟机窗口自适应问题
  7. VC6.0 DLL项目与WINDOWS项目的转换
  8. 【Linux】 Linux 系统文件相关的操作命令
  9. SAP Cloud for Customer和Hybris Commerce的session保护机制
  10. CRM, C4C和SAP Hybris的数据库层设计
  11. BZOJ 3282 Link Cut Tree (LCT)
  12. 学习成为一个IT架构师
  13. Windows 命令行基础(博主推荐)
  14. 完美解决PHP、AJAX跨域问题
  15. 电脑重启桌面 计算机图标消失,电脑重启后桌面图标不见了怎么解决
  16. 那智机器人带CClink模块和三菱Q系列PLC通信
  17. ES6新增API - Reflect
  18. 如何在电脑上复制微信文章图片
  19. visio添加外键约束
  20. 互动广告助您抢量成功

热门文章

  1. 【机器学习基础】一文读懂用于序列标注的条件随机场(CRF)模型
  2. 最高一万星!GitHub 标星最多的 40 篇 ICLR2020 计算机视觉论文合集,附打包下载
  3. 互联网1分钟 |1119
  4. VideoLAN、VLC 和 FFmpeg联合开发AV1 解码器 Dav1d
  5. Django 应用程序 + 模型 + 基本数据访问
  6. JavaScript学习(十)
  7. linux利用命令重置大量密码
  8. 字符串之单词原地逆转
  9. nyoj473 A^B Problem (高速幂)
  10. Linux系统编程之--守护进程的创建和详解【转】