FastDFS 测试-下载文件测试| 学习笔记

简介: 快速学习 FastDFS 测试-下载文件测试。

开发者学堂课程【Spring Boot+Vue.js+FastDFS实现分布式图片服务器 :FastDFS 测试-下载文件测试】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/742/detail/13143


FastDFS 测试-下载文件测试

 

内容介绍

一.测试查询文件上传

二.下载文件上传

 

一.测试查询文件上传

本节课的代码与上节课差不多,只是不再需要文件元信息

try{

//加载 fastDFS 客户端的配置文件

ClientGlobal.initByProperties(“config/fastdfs-client.properties”);  //加载的即为括号里的配置文件内容

System.out.println(“network_timeout=”+ ClientGlobal.g_network_timeout + “ms”);

TrackerClient tracker = new TrackerClient();//创建 tracker 的客户端,提供了 tracker 的类,通过此类就可以访问它。

rackerServer trackerServer = tracker.getConnection();//客户端可以通过获取连接来获取 storage 服务

StorageServer storageServer =nu11;//定义 storage 客户端。因为 storage 既要访问 tracker 又要访问 storage ,所以有两个客户端。

1.查询文件上传的两种方法:

(1)查询一个主名

client.query_file_info(“group1”,”M00/00/02/wKh1QFrKX0mATW_LAALcAg10vf4198.png”);

因为在这里,group1 重复了,所以我们要删除一个。

再输入 System.out.println(group1); 打印

image.png

打印结果如图所示,其中 “file_size = 187394” 表示文件的大小, 2018-04-09 02:28:25 表示文件创办的时间。

(2)将整个文件的 ID 传入

FileInfogroup1= client.query_file_infol(“group1/M00/00/02/wKh1QFrKX0mATW_LAALcAg10vf4198.png”)

2.查询文件元信息的方法:

image.png

如图,有两个 get_metadata , 我们选择选用上方的文件的 ID ,将文件的 ID 上传。

client.get_metadatal(“group1/M00/00/02/wKh1QFrKX0mATW_LAALcAg10vf4198.png”);

回车后就可以看到其原信息。

将它打印一下:

System.out.println(metadatal);

然后我们再加一个断点

image.png 

如图所示,在 metadata1 中有所存储的两个文件,因此可以从数组中将它们取出来。

trackerServer.close();

} catch (Exception ex) {

ex.printStackTrace();

} //关闭 trackerServer 的连接

 

二.下载文件上传

此代码与查询文件上传的代码相似,只需在 API 处改为 download 。

Public void testDownload(){

try{

//加载 fastDFS 客户端的配置文件

ClientGlobal.initByProperties(“config/fastdfs-client.properties”);  //加载的即为括号里的配置文件内容

System.out.println(“network_timeout=”+ ClientGlobal.g_network_timeout + “ms”);

TrackerClient tracker = new TrackerClient();//创建 tracker 的客户端,提供了 tracker 的类,通过此类就可以访问它。

TrackerServer trackerServer = tracker.getConnection();//客户端可以通过获取连接来获取 storage 服务

StorageServer storageServer =nu11;//定义 storage 客户端。因为 storage 既要访问 tracker 又要访问 storage ,所以有两个客户端。

storageClient1 client = new storageClient1(trackerServer,storageServer);

下载:

client.download_filel(“group1/M00/00/02/wKh1QFrKX0mATW_LAALcAg10vf4198.png”);

回车后就可以得到文件的字节,只需再创造一个输出流即可下载

首先创造一个文件,

File file = new File(“d:/a.png(所存储的文件的位置)”);

然后创造一个输出流,

FileOutputStream  fileOutputStream = new FileOutputStream (file);

fileOutputStream.write(bytes);

fileOutputStream.close(); //关闭 trackerServer 的连接

image.png

如图所示,只有在执行下载之后,所下载的文件才会出现在本机盘中。

trackerServer.close();

} catch (Exception ex) {

ex.printStackTrace();

} //关闭 trackerServer 的连接

相关文章
|
3月前
|
Java 测试技术 数据安全/隐私保护
通过yaml文件配置自动化测试程序
通过yaml文件可以将自动化测试环境,测试数据和测试行为分开,请看一下案例
127 4
|
10月前
|
算法 数据安全/隐私保护 计算机视觉
基于FPGA的图像双线性插值算法verilog实现,包括tb测试文件和MATLAB辅助验证
本项目展示了256×256图像通过双线性插值放大至512×512的效果,无水印展示。使用Matlab 2022a和Vivado 2019.2开发,提供完整代码及详细中文注释、操作视频。核心程序实现图像缩放,并在Matlab中验证效果。双线性插值算法通过FPGA高效实现图像缩放,确保质量。
|
8月前
|
安全 关系型数据库 MySQL
MySQL8使用物理文件恢复MyISAM表测试
MySQL8使用物理文件恢复MyISAM表测试
164 0
|
9月前
|
人工智能 测试技术 API
Windows用户必备:Postman v11详细安装指南与API测试入门教程(附官网下载
Postman是全球领先的API开发与测试工具,支持REST、SOAP、GraphQL等协议调试。2025年最新版v11新增AI智能生成测试用例、多环境变量同步等功能,适用于前后端分离开发、自动化测试、接口文档自动生成及团队协作共享API资源。本文详细介绍Postman的软件定位、核心功能、安装步骤、首次配置、基础使用及常见问题解答,帮助用户快速上手并高效利用该工具进行API开发与测试。
|
运维
【运维基础知识】用dos批处理批量替换文件中的某个字符串(本地单元测试通过,部分功能有待优化,欢迎指正)
该脚本用于将C盘test目录下所有以t开头的txt文件中的字符串“123”批量替换为“abc”。通过创建批处理文件并运行,可实现自动化文本替换,适合初学者学习批处理脚本的基础操作与逻辑控制。
929 56
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
1224 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
测试技术 Python
自动化测试项目学习笔记(四):Pytest介绍和使用
本文是关于自动化测试框架Pytest的介绍和使用。Pytest是一个功能丰富的Python测试工具,支持参数化、多种测试类型,并拥有众多第三方插件。文章讲解了Pytest的编写规则、命令行参数、执行测试、参数化处理以及如何使用fixture实现测试用例间的调用。此外,还提供了pytest.ini配置文件示例。
677 2
|
测试技术 Python
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
本文主要介绍了自动化测试中setup、teardown、断言方法的使用,以及unittest框架中setUp、tearDown、setUpClass和tearDownClass的区别和应用。
431 0
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
|
安全 Linux 网络安全
Kali渗透测试:自动播放文件攻击
Kali渗透测试:自动播放文件攻击
225 0