FastDFS接口API文档说明
时间:2012-03-17 来源:R9IT 作者:R9传奇
一.命令行的上传: 上传命令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.

/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文档说明的更多相关文章

  1. Web Api 2 接口API文档美化

    使用用第三方提供的swgger ui 帮助提高 web api 接口列表的阅读性,并且可以在页面中测试服务接口. 运行程序如下: 注意:在IE中必须输入红色部分. 并且可以对方法进行测试. 在开发we ...

  2. ASP.NET Web Api 2 接口API文档美化之Swagger

    使用第三方提供的swgger ui 可有效提高 web api 接口列表的阅读性,并且可以在页面中测试服务接口. 但本人在查阅大量资料并进行编码测试后,发现大部分的swagger实例并不能有效运行.例 ...

  3. 接口测试之接口api文档的重要性

    接口文档的特点 接口文档,顾名思义就是对接口说明的文档.好的接口文档包含了对接口URL,参数以及输出内容的说明,我们参照接口文档就能编写出一个个的测试用例.而且接口文档详细的话,测试用例编写简单,不会 ...

  4. Node与apidoc的邂逅——NodeJS Restful 的API文档生成

    作为后台根据需求文档开发完成接口后,交付给前台(angular vue等)做开发,不可能让前台每个接口调用都去查看你的后台代码一点点查找.前台开发若不懂你的代码呢?让他一个接口一个接口去问你怎么调用, ...

  5. 有了Swagger2,再也不用为写Api文档头疼了

    1.为什么要写Api文档 现在,前后端分离的开发模式已经非常流行,后端开发工程师只负责完成后端接口,前端页面的开发和渲染完全由前端工程师完成. 问题来了,前端工程师怎么知道后端接口的具体定义呢?答案是 ...

  6. SpringBoot+rest接口+swagger2生成API文档+validator+mybatis+aop+国际化

    代码地址:JillWen_SpringBootDemo mybatis 1. 添加依赖: <dependency> <groupId>org.mybatis.spring.bo ...

  7. 使用swagger作为restful api的doc文档生成——从源码中去提取restful URL接口描述文档

    初衷 记得以前写接口,写完后会整理一份API接口文档,而文档的格式如果没有具体要求的话,最终展示的文档则完全决定于开发者的心情.也许多点,也许少点.甚至,接口总是需要适应新需求的,修改了,增加了,这份 ...

  8. Java非侵入式API接口即文档工具apigcc

    一个非侵入的api编译.收集.Rest文档生成工具.工具通过分析代码和注释,获取文档信息,生成RestDoc文档 前言 程序员一直以来都有一个烦恼,只想写代码,不想写文档.代码就表达了我的思想和灵魂. ...

  9. 干掉 Postman?测试接口直接生成API文档,这个工具贼好用

    大家好,我是小富~ 前几天粉丝群有小伙伴问,有啥好用的API文档工具推荐,无意间发现了一款工具,这里马不停蹄的来给大家分享一下. ShowDoc一个非常适合团队的在线API文档工具,也支持用docke ...

随机推荐

  1. 【高德地图API】从零开始学高德JS API(四)搜索服务——POI搜索|自动完成|输入提示|行政区域|交叉路口|自有数据检索

    原文:[高德地图API]从零开始学高德JS API(四)搜索服务——POI搜索|自动完成|输入提示|行政区域|交叉路口|自有数据检索 摘要:地图服务,大家能想到哪些?POI搜素,输入提示,地址解析,公 ...

  2. 【Android UI设计和开发】动画(Animation)详细说明(一)

    Android开发之动画效果浅析 请尊重他人的劳动成果.转载请注明出处:Android开发之动画效果浅析 程序执行效果图: Android动画主要包括补间动画(Tween)View Animation ...

  3. iOS_中国汉字到拼音_pinyin4objc

    最后效果图: ViewController.h // // ViewController.h // PinYin4Objc汉字转拼音演示demo // // Created by beyond on ...

  4. HDU 4228 Flooring Tiles 反素数

    推出了结论,万万没想到最后用搜索.. 还想dp来着.. #include <cstdio> #include <cstring> #include <iostream&g ...

  5. [推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下)

    原文:[推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下) [推荐]ORACLE PL/SQL编程详解之一: PL/SQL 程序设计简介(千里之行,始于足下 ...

  6. 【POJ3037】Skiing 最短路

    题意: 有个n*m的滑雪场,bessie要从(1,1)滑到(n,m),问最小时间. 起始有一个速度v,然后每从一个点A到一个点B(仅仅能上下左右走,每次一格),速度就会乘上2^(权值A-权值B). 然 ...

  7. C语言两个libxml2库使用的问题

    最近使用libxml2想做点东西,翻看一些example后还是有些疑问,去segmentfault问了下,感谢@pingjiang的热心解答,问题解决,记录如下 (一)如下是一个XML文件,p为根结点 ...

  8. Progit Update Check Page

    ######### ######### #########

  9. 非接触式电子音乐控制器CHIMAERA

    本篇文章,我将介绍个有意思的设备. 她就是Chimaera,一个基于电磁场效应的非接触式电子音乐控制器. <弹奏Chimaera的声音> 霍尔效应传感器阵列及其周围部件组成了一个连续的2D ...

  10. T4模板demo

    T4模板_根据DB生成实体类   为了减少重复劳动,可以通过T4读取数据库表结构,生成实体类,用下面的实例测试了一下 1.首先创建一个项目,并添加文本模板: 2.添加 文本模板: 3.向T4文本模板文 ...