设为首页 收藏本站
查看: 1331|回复: 0

[经验分享] FastDFS接口API文档说明

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-10 09:11:53 | 显示全部楼层 |阅读模式
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);
  ?>
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-111773-1-1.html 上篇帖子: Ubuntu安装配置FastDFS# HTTP settings http.disabled=false # HTTP port on this tracke 下篇帖子: ubuntu下FastDFS分布式文件系统的安装及配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表