Java教程

fastdfs API

本文主要是介绍fastdfs 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

parameters:  remote_filename: the remote filename (do NOT including group name)  timestamp: the timestamp (unix timestamp) return token string for success, false for error

 

 

通过文件名得到文件详细信息:

 

fastdfs_get_file_info(string group_name, string filename)

 

返回值类型:array

 

包括信息:时间戳

 

                     文件大小

 

                     源地址

parameters:  group_name: the group name of the file  remote_filename: the filename on the storage server return assoc array for success, false for error.   the assoc array including following elements:   create_timestamp: the file create timestamp (unix timestamp)   file_size: the file size (bytes)   source_ip_addr: the source storage server ip address  

 

 

通过文件id获取文件信息:

 

fastdfs_get_file_info1(string file_id)

 

返回值类型:array

 

包括信息:时间戳

 

                     文件大小

 

                     源地址

parameters:  file_id: the file id (including group name and filename) or remote filename return assoc array for success, false for error.   the assoc array including following elements:   create_timestamp: the file create timestamp (unix timestamp)   file_size: the file size (bytes)   source_ip_addr: the source storage server ip address

 

 

由主文件名产生从文件名:

 

string fastdfs_gen_slave_filename(string master_filename, string prefix_name

 

                [, string file_ext_name])

 

返回值:字符串

 

返回信息:从文件名,出错返回error

parameters:  master_filename: the master filename / file id to generate     the slave filename  prefix_name: the prefix name  to generate the slave filename  file_ext_name: slave file extension name, can be null or emtpy     (do not including dot) return slave filename string for success, false for 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

parameters:  local_filename: the local filename  file_ext_name: the file extension name, do not include dot(.)  meta_list: meta data assoc array, such as                    array('width'=>1024, 'height'=>768)  group_name: specify the group name to store the file  tracker_server: the tracker server assoc array including elements:                          ip_addr, port and sock  storage_server: the storage server assoc array including elements:                         ip_addr, port and sock return assoc array for success, false for error.         the returned array includes elements: group_name and filename

 

 

上传本地文件到服务器:

 

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);

parameters:  local_filename: the local filename  file_ext_name: the file extension name, do not include dot(.)  meta_list: meta data assoc array, such as                    array('width'=>1024, 'height'=>768)  group_name: specify the group name to store the file  tracker_server: the tracker server assoc array including elements:                          ip_addr, port and sock  storage_server: the storage server assoc array including elements:                         ip_addr, port and sock return file_id for success, false for error.

 

 

上传文件到存储服务器的缓存。

 

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

parameters:  file_buff: the file content  file_ext_name: the file extension name, do not include dot(.)  meta_list: meta data assoc array, such as                    array('width'=>1024, 'height'=>768)  group_name: specify the group name to store the file  tracker_server: the tracker server assoc array including elements:                          ip_addr, port and sock  storage_server: the storage server assoc array including elements:                         ip_addr, port and sock return assoc array for success, false for error.         the returned array includes elements: group_name and filename

 

 

上传本地文件到存储服务器:

 

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

parameters:  local_filename: the local filename  file_ext_name: the file extension name, do not include dot(.)  meta_list: meta data assoc array, such as                    array('width'=>1024, 'height'=>768)  group_name: specify the group name to store the file  tracker_server: the tracker server assoc array including elements:                          ip_addr, port and sock  storage_server: the storage server assoc array including elements:                         ip_addr, port and sock return assoc array for success, false for error.         the returned array includes elements: group_name and filename

 

 

删除storage上的文件:

 

fastdfs_storage_delete_file(string group_name, string remote_filename

 

         [, array tracker_server, array storage_server])

 

返回值:boolean

parameters:  group_name: the group name of the file  remote_filename: the filename on the storage server  tracker_server: the tracker server assoc array including elements:                          ip_addr, port and sock  storage_server: the storage server assoc array including elements:                         ip_addr, port and sock return true for success, false for error  

 

 

删除storage上的文件:

 

fastdfs_storage_delete_file1(string file_id

 

         [, array tracker_server, array storage_server])

 

返回值:boolean

parameters:  file_id: the file id to be deleted  tracker_server: the tracker server assoc array including elements:                          ip_addr, port and sock  storage_server: the storage server assoc array including elements:                         ip_addr, port and sock return true for success, false for error

 

 

下载文件:(请根据调用情况使用下载函数,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

parameters:  group_name: the group name of the file  remote_filename: the filename on the storage server  file_offset: file start offset, default value is 0  download_bytes: 0 (default value) means from the file offset to                          the file end  tracker_server: the tracker server assoc array including elements:                          ip_addr, port and sock  storage_server: the storage server assoc array including elements:                         ip_addr, port and sock return the file content for success, false for error

 

 

下载文件:

 

fastdfs_storage_download_file_to_buff1(string file_id

 

        [, long file_offset, long download_bytes,

 

         array tracker_server, array storage_server])

 

返回值:string

parameters:  file_id: the file id of the file  file_offset: file start offset, default value is 0  download_bytes: 0 (default value) means from the file offset to                          the file end  tracker_server: the tracker server assoc array including elements:                          ip_addr, port and sock  storage_server: the storage server assoc array including elements:                         ip_addr, port and sock return the file content for success, false for error    

下载文件到本地:

 

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

parameters:  group_name: the group name of the file  remote_filename: the filename on the storage server  local_filename: the local filename to save the file content  file_offset: file start offset, default value is 0  download_bytes: 0 (default value) means from the file offset to                          the file end  tracker_server: the tracker server assoc array including elements:                          ip_addr, port and sock  storage_server: the storage server assoc array including elements:                         ip_addr, port and sock return true for success, false for error

 

 

设置文件元数据属性:

 

fastdfs_storage_set_metadata(string group_name, string remote_filename,

 

         array meta_list [, string op_type, array tracker_server,

 

         array storage_server])

 

返回值:boolean

parameters:  group_name: the group name of the file  remote_filename: the filename on the storage server  meta_list: meta data assoc array to be set, such as                    array('width'=>1024, 'height'=>768)  op_type: operate flag, can be one of following flags:   FDFS_STORAGE_SET_METADATA_FLAG_MERGE: combined with the old meta data   FDFS_STORAGE_SET_METADATA_FLAG_OVERWRITE: overwrite the old meta data  tracker_server: the tracker server assoc array including elements:                          ip_addr, port and sock  storage_server: the storage server assoc array including elements:                         ip_addr, port and sock return true for success, false for error

 

 

设置文件元数据:

 

fastdfs_storage_get_metadata(string group_name, string remote_filename

 

         [, array tracker_server, array storage_server])

 

返回值:boolean

parameters:  group_name: the group name of the file  remote_filename: the filename on the storage server  tracker_server: the tracker server assoc array including elements:                          ip_addr, port and sock  storage_server: the storage server assoc array including elements:                         ip_addr, port and sock return assoc array for success, false for error        returned array like: array('width' => 1024, 'height' => 768)

 

 

 

 

连接服务器:

 

fastdfs_connect_server(string ip_addr, int port)

 

返回值:array: 

    Ip地址     Port parameters:  ip_addr: the ip address of the server  port: the port of the server return assoc array for success, false for error     断开服务器连接:   fastdfs_disconnect_server(array server_info)   返回值:boolean parameters:  server_info: the assoc array including elements:                      ip_addr, port and sock return true for success, false for error         状态测试:(主要测试storage的状态)   fastdfs_active_test(array server_info)   返回值:boolean parameters:  server_info: the assoc array including elements:                      ip_addr, port and sock, sock must be connected return true for success, false for error     获取一个tracker server连接:   fastdfs_tracker_get_connection()   返回值:boolean return assoc array for success, false for error        the assoc array including elements: ip_addr, port and sock     连接到所有的tracker   fastdfs_tracker_make_all_connections()   返回值:boolean return true for success, false for error     关闭所有的tracker连接:   fastdfs_tracker_close_all_connections()   返回值:boolean return true for success, false for error         获得小组统计信息   fastdfs_tracker_list_groups([string group_name, array tracker_server])   返回值:array parameters:  group_name: specify the group name, null or empty string means all groups  tracker_server: the tracker server assoc array including elements:                         ip_addr, port and sock return index array for success, false for error, each group as a array element     获取storage信息   fastdfs_tracker_query_storage_store([string group_name,                      array tracker_server])   返回值:array parameters:  group_name: specify the group name  tracker_server: the tracker server assoc array including elements:                         ip_addr, port and sock return assoc array for success, false for error. the assoc array including        elements: ip_addr, port, sock and store_path_index     连接所有的tracker   fastdfs_tracker_make_all_connections()   返回值:boolean return true for success, false for error
  获取存储服务器的信息:   fastdfs_tracker_query_storage_store([string group_name,                      array tracker_server])   返回值:array parameters:  group_name: specify the group name  tracker_server: the tracker server assoc array including elements:                         ip_addr, port and sock return assoc array for success, false for error. the assoc array including        elements: ip_addr, port, sock and store_path_index     获取上传服务器的信息列表:   fastdfs_tracker_query_storage_store_list([string group_name,                      array tracker_server])   返回值:array parameters:  group_name: specify the group name  tracker_server: the tracker server assoc array including elements:                         ip_addr, port and sock return indexed storage server array for success, false for error.        each element is an ssoc array including elements:         ip_addr, port, sock and store_path_index     删除一个存储服务器:   fastdfs_tracker_delete_storage(string group_name, string storage_ip)   返回值:boolean parameters:  group_name: the group name of the storage server  storage_ip: the ip address of the storage server to be deleted return true for success, false for error     实例: 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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!