FastDFS接口API文档说明
一.命令行的上传:
上传命令1.
/usr/local/bin/fdfs_upload_file <config_file> <local_filename>
例如:系统根目录下有个文件需要上传到dfs服务器上:
/ cairo-1.2.0.tar.gz
执行上传命令如下:
/usr/local/bin/fdfs_upload_file /etc/fdfs/client.conf /cairo-1.2.0.tar.gz
返回值如下:
group3/M00/00/00/wKgAUE5yh7DZXQcEACiWWseqpak.tar.gz
此信息返回的是文件存储的路径及文件名信息。
上传命令2(测试上传,请务必不要在生产线上使用,统一使用第一种上传):
/usr/local/bin/fdfs_test <config_file> upload <local_filename>
例如:上传同上一样的文件:
/usr/local/bin/fdfs_test /etc/fdfs/client.conf upload /cairo-1.2.0.tar.gz
返回值如下:
INFO - base_path=/home/yuqing/fastdfs, connect_timeout=30,
network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secr
et_key length=0
tracker_query_storage_store_list_without_group:
server 1. group_name=group3, ip_addr=192.168.0.80, port=23000
group_name=group3, ip_addr=192.168.0.80, port=23000
storage_upload_by_filename
group_name=group3, remote_filename=M00/00/00/wKgAUE5yiVK0VEpSACiWWseqpak.tar.gz
source ip address: 192.168.0.80
file timestamp=2011-09-16 07:25:06
file size=2659930
file crc32=3349849513
file url: http://192.168.0.80:8090/group3/M00/00/00/wKgAUE5yiVK0VEpSACiWWseqpak.
tar.gz
storage_upload_slave_by_filename
group_name=group3, remote_filename=M00/00/00/wKgAUE5yiVK0VEpSACiWWseqpak_big.tar
.gz
source ip address: 192.168.0.80
file timestamp=2011-09-16 07:25:06
file size=2659930
file crc32=3349849513
file url: http://192.168.0.80:8090/group3/M00/00/00/wKgAUE5yiVK0VEpSACiWWseqpak_
big.tar.gz
以上返回信息中:
1. INFO信息返回了存储服务器的系统信息
2. Group_name:返回了storage服务器的id信息
3. remote_filename:返回了storage的存储路径。
4. source_ip address:返回了tracker server的ip地址。
5. file timestamp:返回时间戳
6. file size:返回文件大小
7. file url:返回上传文件的url地址
二.命令行的删除:
/usr/local/bin/fdfs_delete_file <config_file> groupid/file_name
例如:删除上面上传的文件
/usr/local/bin/fdfs_delete_file /etc/fdfs/client.conf group3/M00/00/00/wKgAUE5yiVK0VEpSACiWWseqpak.tar.gz
三.下载:
/usr/local/bin/fdfs_download_file <config_file> <file_id> [local_filename]
例如下载上面上传的文件:
/usr/local/bin/fdfs_download_file /etc/fdfs/client.conf group3/M00/00/00/wKgAUE5yiVK0VEpSACiWWseqpak_big.tar.gz /cairo.tar.gz
其中:config_file:只客户端下载配置文件
File_id:指文件的路径
local_filename:指下载到本地后修改的文件名。
基于php的API
注解:
Filename是storage返回的remote_filename
file_id是including group name and filename
group是storage的组名
timestamp是时间戳
local_filename本地文件名
file_ext_name文件扩展名
meta_list详细文件属性列表
tracker_server Fast的服务器地址
storage_server group地址
获取FastDFS的版本:
fastdfs_client_version()
返回值类型:字符串
获取错误记录数:
fastdfs_get_last_error_no()
返回值类型:int
获取错误信息:
fastdfs_get_last_error_info()
返回值类型:字符串
获取产生反偷令牌函数:
fastdfs_http_gen_token(string file_id, int timestamp)
返回值类型:string
通过文件名得到文件详细信息:
fastdfs_get_file_info(string group_name, string filename)
返回值类型:array
包括信息:时间戳
文件大小
源地址
通过文件id获取文件信息:
fastdfs_get_file_info1(string file_id)
返回值类型:array
包括信息:时间戳
文件大小
源地址
由主文件名产生从文件名:
string fastdfs_gen_slave_filename(string master_filename, string prefix_name
[, string file_ext_name])
返回值:字符串
返回信息:从文件名,出错返回error
上传本地文件到服务器:
array fastdfs_storage_upload_by_filename(string local_filename
[, string file_ext_name, array meta_list, string group_name,
array tracker_server, array storage_server])
返回值:array
上传本地文件到服务器:
string fastdfs_storage_upload_by_filename1(string local_filename
[, string file_ext_name, string meta_list, string group_name,
array tracker_server, array storage_server])
返回值:string
例如:fastdfs_storage-upload_by_filename1("/zxy.jpg", null, array(), null, $tracker, $storage);
上传文件到存储服务器的缓存。
fastdfs_storage_upload_by_filebuff(string file_buff
[, string file_ext_name, string meta_list, string group_name,
array tracker_server, array storage_server])
返回值:array
上传本地文件到存储服务器:
fastdfs_storage_upload_appender_by_filename(string local_filename
[, string file_ext_name, array meta_list, string group_name,
array tracker_server, array storage_server])
返回值:array
删除storage上的文件:
fastdfs_storage_delete_file(string group_name, string remote_filename
[, array tracker_server, array storage_server])
返回值:boolean
删除storage上的文件:
fastdfs_storage_delete_file1(string file_id
[, array tracker_server, array storage_server])
返回值:boolean
下载文件:(请根据调用情况使用下载函数,url的下载可以直接参考组合url地址)
fastdfs_storage_download_file_to_buff(string group_name,
string remote_filename [, long file_offset, long download_bytes,
array tracker_server, array storage_server])
返回值:string
下载文件:
fastdfs_storage_download_file_to_buff1(string file_id
[, long file_offset, long download_bytes,
array tracker_server, array storage_server])
返回值:string
下载文件到本地:
fastdfs_storage_download_file_to_file(string group_name,
string remote_filename, string local_filename [, long file_offset,
long download_bytes, array tracker_server, array storage_server])
返回值:boolean
设置文件元数据属性:
fastdfs_storage_set_metadata(string group_name, string remote_filename,
array meta_list [, string op_type, array tracker_server,
array storage_server])
返回值:boolean
设置文件元数据:
fastdfs_storage_get_metadata(string group_name, string remote_filename
[, array tracker_server, array storage_server])
返回值:boolean
连接服务器:
fastdfs_connect_server(string ip_addr, int port)
返回值:array:
Ip地址
Port
断开服务器连接:
fastdfs_disconnect_server(array server_info)
返回值:boolean
状态测试:(主要测试storage的状态)
fastdfs_active_test(array server_info)
返回值:boolean
获取一个tracker server连接:
fastdfs_tracker_get_connection()
返回值:boolean
连接到所有的tracker
fastdfs_tracker_make_all_connections()
返回值:boolean
关闭所有的tracker连接:
fastdfs_tracker_close_all_connections()
返回值:boolean
获得小组统计信息
fastdfs_tracker_list_groups([string group_name, array tracker_server])
返回值:array
获取storage信息
fastdfs_tracker_query_storage_store([string group_name,
array tracker_server])
返回值:array
连接所有的tracker
fastdfs_tracker_make_all_connections()
返回值:boolean
获取存储服务器的信息:
fastdfs_tracker_query_storage_store([string group_name,
array tracker_server])
返回值:array
获取上传服务器的信息列表:
fastdfs_tracker_query_storage_store_list([string group_name,
array tracker_server])
返回值:array
删除一个存储服务器:
fastdfs_tracker_delete_storage(string group_name, string storage_ip)
返回值:boolean
实例:
1. 上传一个文件:
<?php
$tracker = fastdfs_tracker_get_connection();
var_dump($tracker);
if (!fastdfs_active_test($tracker))
{
error_log("errno: " . fastdfs_get_last_error_no() . ", error info: " . fastdfs_get_last_error_info());
exit(1);
}
$storage = fastdfs_tracker_query_storage_store();
if (!$storage)
{
error_log("errno: " . fastdfs_get_last_error_no() . ", error info: " . fastdfs_get_last_error_info());
exit(1);
}
$file_info = fastdfs_storage_upload_by_filename("/zxy.jpg", null, array(), null, $tracker, $storage);
?>
2. 下载一个文件
<?php
$group_name="group3";
$filename="M00/00/00/wKgAUE5zkhH8yBZwAAGH3hvfjJA398.jpg";
$file_id="group3/M00/00/00/wKgAUE5zkhH8yBZwAAGH3hvfjJA398.jpg";
$timestamp="2011-09-17 02:14:41";
fastdfs_storage_download_file_to_file($group_name,$filename, "test.jpg");
?>
3. 删除一个文件
<?php
$group_name="group3";
$filename="M00/00/00/wKgAUE5zkhH8yBZwAAGH3hvfjJA398.jpg";
echo fastdfs_storage_delete_file($group_name, $filename);
?>
FastDFS接口API文档说明的更多相关文章
- Web Api 2 接口API文档美化
使用用第三方提供的swgger ui 帮助提高 web api 接口列表的阅读性,并且可以在页面中测试服务接口. 运行程序如下: 注意:在IE中必须输入红色部分. 并且可以对方法进行测试. 在开发we ...
- ASP.NET Web Api 2 接口API文档美化之Swagger
使用第三方提供的swgger ui 可有效提高 web api 接口列表的阅读性,并且可以在页面中测试服务接口. 但本人在查阅大量资料并进行编码测试后,发现大部分的swagger实例并不能有效运行.例 ...
- 接口测试之接口api文档的重要性
接口文档的特点 接口文档,顾名思义就是对接口说明的文档.好的接口文档包含了对接口URL,参数以及输出内容的说明,我们参照接口文档就能编写出一个个的测试用例.而且接口文档详细的话,测试用例编写简单,不会 ...
- Node与apidoc的邂逅——NodeJS Restful 的API文档生成
作为后台根据需求文档开发完成接口后,交付给前台(angular vue等)做开发,不可能让前台每个接口调用都去查看你的后台代码一点点查找.前台开发若不懂你的代码呢?让他一个接口一个接口去问你怎么调用, ...
- 有了Swagger2,再也不用为写Api文档头疼了
1.为什么要写Api文档 现在,前后端分离的开发模式已经非常流行,后端开发工程师只负责完成后端接口,前端页面的开发和渲染完全由前端工程师完成. 问题来了,前端工程师怎么知道后端接口的具体定义呢?答案是 ...
- SpringBoot+rest接口+swagger2生成API文档+validator+mybatis+aop+国际化
代码地址:JillWen_SpringBootDemo mybatis 1. 添加依赖: <dependency> <groupId>org.mybatis.spring.bo ...
- 使用swagger作为restful api的doc文档生成——从源码中去提取restful URL接口描述文档
初衷 记得以前写接口,写完后会整理一份API接口文档,而文档的格式如果没有具体要求的话,最终展示的文档则完全决定于开发者的心情.也许多点,也许少点.甚至,接口总是需要适应新需求的,修改了,增加了,这份 ...
- Java非侵入式API接口即文档工具apigcc
一个非侵入的api编译.收集.Rest文档生成工具.工具通过分析代码和注释,获取文档信息,生成RestDoc文档 前言 程序员一直以来都有一个烦恼,只想写代码,不想写文档.代码就表达了我的思想和灵魂. ...
- 干掉 Postman?测试接口直接生成API文档,这个工具贼好用
大家好,我是小富~ 前几天粉丝群有小伙伴问,有啥好用的API文档工具推荐,无意间发现了一款工具,这里马不停蹄的来给大家分享一下. ShowDoc一个非常适合团队的在线API文档工具,也支持用docke ...
随机推荐
- Oracle分区表转换
Oracle普通表—>分区表转换(9亿数据量) 背景介绍: 环境:Linux 5.5 + Oracle 10.2.0.4 某普通表T,由于前期设计不当没有分区,如今几年来的数据量已达9亿+, 空 ...
- Python的html和xml解析库Beautiful Soup
网站:http://www.crummy.com/software/BeautifulSoup/ 版权声明:本文博主原创文章,博客,未经同意不得转载.
- JS中5秒中跳转到其他页面
原文:JS中5秒中跳转到其他页面 <head> <meta http-equiv="Content-Type" content="text/html; ...
- 工作笔记3.手把手教你搭建SSH(struts2+hibernate+spring)环境
上文中我们介绍<工作笔记2.软件开发经常使用工具> 从今天開始本文将教大家怎样进行开发?本文以搭建SSH(struts2+hibernate+spring)框架为例,共分为3步: 1)3个 ...
- STL容器存储的内容动态分配情况下的内存管理
主要分两种情况:存储的内容是指针:存储的内容是实际对象. 看以下两段代码, typedef pair<VirObjTYPE, std::list<CheckID>*> VirO ...
- 关于Java中List对象的分页思想,按10个或者n个数对list进行分组
try { List<String> timelist = DateUtils.getDateListBySETime("2015-08-01", "2015 ...
- How to:Installshield判断操作系统是否为64位,并且为操作注册表进行设置
原文:How to:Installshield判断操作系统是否为64位,并且为操作注册表进行设置 IS脚本操作注册表在64位平台下必须有特殊的设置 if (SYSINFO.bIsWow64) then ...
- Android从无知到有知——NO.4
因为我们做的是手机安全卫士,因此,我们需要一个地图定位功能,些相关的项目,也有一些教程.到百度官方下载了相关的jar包和API,但自己建项目的时候却不是那么顺利,bug不断,弄得心烦意乱,最后最终臣服 ...
- avalonjs 1.3.7发布
avalonjs 1.3.7发布 又到每个月的15号了,现在avalon已经固定在每个月的15号发布新版本.这次发布又带来许多新特性,让大家写码更加轻松,借助于“操作数据即操作DOM”的核心理念与双向 ...
- 解决水晶报表提示“未知的查询引擎错误” FOR VS2010
原文:解决水晶报表提示“未知的查询引擎错误” FOR VS2010 在VS2010环境下运行水晶报表(当然要先装上Crystal Report For VS2010), 在SetDataSource方 ...