阅读:5239回复:0
FastDFS-JavaClient(一)1. 介绍 FastDFS 的javaClient是针对FastDFS所开发的javaAPI,使用java代码操作FastDFS。 2. API使用说明 2.1 常用API详细说明 2.1.1 getErrorCode() 方法说明:get the error code of last call 获取上次调用的错误代码 参数:无 返回值:上次调用的错误代码 返回值类型:byte NOTE:。。。。该方法不管如何都返回的是0,待研究。。。 2.1.2 文件上传 2.1.2.1 upload_file(String local_filename, String file_ext_name, NameValuePair[] meta_list) a) 方法说明: upload file to storage server (by file name) 上传文件到存储服务器(按文件名) b) 参数: String local_filename : local filename to upload(要上传的本地文件名) String file_ext_name : file ext name, do not include dot(.), null to extract ext name from the local filename(文件扩展名称,不包含.符号。若为空则从本地文件名local_filename中提取文件扩展名) NameValuePair[] meta_list : meta info array(元信息数组) c) 返回值: 若成功,返回一个字符串数组。第一个元素为 the group name to store the file(上传文件存储的group名称);第二个元素为文件存储后新的文件名称。 若失败,返回null。 d) 返回值类型: String[] e) 使用案例: StorageClient sc = new StorageClient(); String ret[] = sc.upload_file("F:\\TMP\\logo.png",null,new NameValuePair[0]); f) 返回值: group1 M00/00/05/rBKCH1zsmmaANNa4AAANYcciMSs886.png 2.1.2.2 upload_file(byte[] file_buff, int offset, int length, String file_ext_name, NameValuePair[] meta_list) a) 方法说明: upload file to storage server (by file buff) 上传文件到存储服务器(按文件的字节) b) 参数: byte[] file_buff : 文件byte数组 int offset : 指定开始的byte数 int length : 指定需要上传的byte数量 String file_ext_name : file ext name, do not include dot(.),(文件扩展名称,不包含.符号。若为null,则文件没有后缀扩展名。) NameValuePair[] meta_list : meta info array(元信息数组) c) 返回值: 若成功,返回一个字符串数组。第一个元素为 the group name to store the file(上传文件存储的group名称);第二个元素为文件存储后新的文件名称。 若失败,返回null d) 返回值类型: String[] e) 使用案例: byte[] bytes = file2Byte("F:\\TMP\\SDMD.sql"); String ret[] = sc.upload_file(bytes,0,1024,null,new NameValuePair[0]); f) 返回值: group1 M00/00/05/rBKCIVzsoGeAeysbAAAEAMgH1M06402860 2.1.2.3 upload_file(String group_name, byte[] file_buff, int offset, int length, String file_ext_name, NameValuePair[] meta_list) 方法说明:upload file to storage server (by file buff) 上传文件到存储服务器(按文件的字节以及group_name) 参数: String group_name : group名称 byte[] file_buff : 文件byte数组 int offset : 指定开始的byte数 int length : 指定需要上传的byte数量 String file_ext_name : file ext name, do not include dot(.),(文件扩展名称,不包含.符号。若为null,则文件没有后缀扩展名。) NameValuePair[] meta_list : meta info array(元信息数组) 返回值:若成功,返回一个字符串数组。第一个元素为 the group name to store the file(上传文件存储的group名称);第二个元素为文件存储后新的文件名称。 若失败,返回null 返回值类型:String[] 使用案例: byte[] bytes = file2Byte("F:\\TMP\\SDMD.sql"); String ret[] = sc.upload_file("group1",bytes,0,1024,null,new NameValuePair[0]); 返回值: group1 M00/00/05/rBKCH1zsohiAS1k3AAAEAMgH1M00025682 2.1.2.4 upload_file(byte[] file_buff, String file_ext_name, NameValuePair[] meta_list) 方法说明:upload file to storage server (by file buff) 上传文件到存储服务器(按文件的字节) 参数: byte[] file_buff : 文件byte数组 String file_ext_name : file ext name, do not include dot(.),(文件扩展名称,不包含.符号。若为null,则文件没有后缀扩展名。) NameValuePair[] meta_list : meta info array(元信息数组) 返回值:若成功,返回一个字符串数组。第一个元素为 the group name to store the file(上传文件存储的group名称);第二个元素为文件存储后新的文件名称。 若失败,返回null 返回值类型:String[] 使用案例: byte[] bytes = file2Byte("F:\\TMP\\SDMD.sql"); String ret[] = sc.upload_file("group1",bytes,null,new NameValuePair[0]); 返回值: group1 M00/00/05/rBKCIFzso0CAOfxgAAMigHYHoOk7744982 2.1.2.5 upload_file(String group_name, byte[] file_buff, String file_ext_name, NameValuePair[] meta_list) 和3.2.5类似,只是参数多了一个group_name,故在此不重复说明 2.1.2.6 upload_file(String group_name, long file_size, UploadCallback callback, String file_ext_name, NameValuePair[] meta_list) 方法说明:upload file to storage server (by callback) 上传文件到存储服务器(通过回调函数) 参数: String group_name : group名称 Long file_size : 上传后的文件大小 UploadCallback : 回调对象 String file_ext_name : file ext name, do not include dot(.),(文件扩展名称,不包含.符号。若为null,则文件没有后缀扩展名。) NameValuePair[] meta_list : meta info array(元信息数组) 返回值:若成功,返回一个字符串数组。第一个元素为 the group name to store the file(上传文件存储的group名称);第二个元素为文件存储后新的文件名称。 若失败,返回null 返回值类型:String[] 使用案例: StorageClient sc = new StorageClient(); byte[] bytes = file2Byte("F:\\TMP\\SDMD.sql"); String ret[] = sc.upload_file("group1",bytes.length,new CallBackClass(bytes),null,new NameValuePair[0]); 其中CallBackClass类: import org.csource.fastdfs.UploadCallback; import java.io.IOException; import java.io.OutputStream; public class CallBackClass implements UploadCallback { public byte[] fileBytes; public CallBackClass(){ } public CallBackClass(byte[] b){ this.fileBytes = b; } @Override public int send(OutputStream outputStream) throws IOException { System.out.println("进入文件上传回调函数。。。"); System.out.println("开始写数据。。。"); outputStream.write(this.fileBytes); System.out.println("完成写数据。。。"); return 0; } } CallBackClass类说明:使用这个上传文件方法,需自定义一个java类,实现org.csource.fastdfs.UploadCallback这个接口的send方法,在send方法中往outputStream中写入数据。 返回值: 进入文件上传回调函数。。。 开始写数据。。。 完成写数据。。。 group1 M00/00/05/rBKCIVzsqBqANbIWAAMigHYHoOk6668012 |
|
最新喜欢:李松鹤 |