开发者学堂课程【Spring Boot+Vue.js+FastDFS实现分布式图片服务器 :FastDFS 测试-上传文件的测试】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/742/detail/13142
FastDFS 测试-上传文件的测试
内容介绍
一.上传文件的测试
二.总结
一.上传文件的测试
1.上节课中,将环境搭建好后,就可以开始测试。
输入:
@Test
Public void testUpload(){
(即文件上传的测试)
//通过 fastDFS 的 client 代码访问 tracker 和 storage
打开官网后,点击 src —— test—— java—— org —— csource—— fastdfs —— testjava 就可以找到一个例子,代码讲解如下:
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);
//文件元信息
NameValuePair[ ] metaList = new NameValuePair[1];
metaList[0] = new NameValuePair(“fileName”,”1.png”);
(命名后,将来可通过 storage 将其取出。可继续添加。)
String fileId = client.upload_file1(local_filename
,
“null”,metaList);
//执行上传。划线部分为本地文件,可将文件地址复制粘贴过来。黄色部分为文件路径。引号部分为扩展名。 metaList 为文件元信息。
Int i = 0;
While (i++ < 10) {
byte[ ] result = client.download_filel(fileId);
System.out.println(i + “, download result is:”+ result.length);
}
trackerServer.close();
} catch (Exception ex) {
ex.printStackTrace();
} //关闭 trackerServer 的连接
2.最终结果为打出文件的 ID
如图所示为运行结果。
group1/M00/00/02/wKh1QFrKX0mATW_LAALcAg10vf4198.png
第一部分为 storage 的组名,第二部分为虚拟的驱动器的名称,其余的为真实的物理目录。
至此,已经将本机的文件上传到了虚拟机的101.64服务器上。
3.如何验证文件的存在:
打开 /home/ 找到里面的 fastdfs, 其中有 fdfs_storage/, 其下方的目录对应了 M00 的目录,进去后里面 有一个 date 目录,date 里面是 fastdfs 为我们创建的目录。
进入 00/02 目录,就可以找到我们所上传的文件,即可验证上传的成功。
二.总结
配置文件时,最重要的即 tracker_servers 地址。
Fastdfs.tracker_servers = 192.168.101.64:22122
可以使用 client 的模板代码,直接将文件上传到本地的服务端,然后打印出文件的 ID 。
此 ID 由三部分组成:group组名,虚拟驱动器的名称,真实的物理目录。