private void button1_Click(object sender, EventArgs e) { var config = FastDfsManager.GetConfigSection(); ConnectionManager.InitializeForConfigSection(config); storageNode = FastDFSClient.GetStorageNode(config.GroupName); textBox1.Text = FastDFSClient.UploadFile(storageNode, File.ReadAllBytes("test.jpg"), "jpg"); }
/// <summary> /// 获取文件信息 /// </summary> /// <param name="storageNode">GetStorageNode方法返回的存储节点</param> /// <param name="fileName">文件名</param> /// <returns></returns> public static FDFSFileInfo GetFileInfo(StorageNode storageNode, string fileName) { var storageReqeust = QUERY_FILE_INFO.Instance.GetRequest(storageNode.EndPoint, storageNode.GroupName, fileName); var result = new FDFSFileInfo(storageReqeust.GetResponse()); return result; }
/// <summary> /// 增量下载文件 /// </summary> /// <param name="storageNode">GetStorageNode方法返回的存储节点</param> /// <param name="fileName">文件名</param> /// <param name="offset">从文件起始点的偏移量</param> /// <param name="length">要读取的字节数</param> /// <returns>文件内容</returns> public static byte[] DownloadFile(StorageNode storageNode, string fileName, long offset, long length) { var storageReqeust = DOWNLOAD_FILE.Instance.GetRequest(storageNode.EndPoint, offset, length, storageNode.GroupName, fileName); var storageResponse = new DOWNLOAD_FILE.Response(storageReqeust.GetResponse()); return storageResponse.Content; }
/// <summary> /// 初始化连接 /// </summary> /// <param name="config"></param> public void Init(FastDfsConfig config) { try { ConnectionManager.InitializeForConfigSection(config); storageNode = FastDFSClient.GetStorageNode(config.GroupName); } catch (Exception ex) { File.AppendAllText(DateTime.Now.ToShortDateString() + ".log",ex.Message); throw; } }
/// <summary> /// 修改组 /// </summary> /// <param name="groupName"></param> public void ChangeGroup(string groupName) { storageNode = FastDFSClient.GetStorageNode(groupName); }
/// <summary> /// 获取存储节点 /// </summary> /// <param name="groupName">组名</param> /// <returns>存储节点实体类</returns> public static StorageNode GetStorageNode(string groupName) { var trackerRequest = QUERY_STORE_WITH_GROUP_ONE.Instance.GetRequest(groupName); var trackerResponse = new QUERY_STORE_WITH_GROUP_ONE.Response(trackerRequest.GetResponse()); var storeEndPoint = new IPEndPoint(IPAddress.Parse(trackerResponse.IpStr), trackerResponse.Port); var result = new StorageNode { GroupName = trackerResponse.GroupName, EndPoint = storeEndPoint, StorePathIndex = trackerResponse.StorePathIndex }; return result; }
/// <summary> /// 上传文件 /// </summary> /// <param name="storageNode">GetStorageNode方法返回的存储节点</param> /// <param name="contentByte">文件内容</param> /// <param name="fileExt">文件扩展名(注意:不包含".")</param> /// <returns>文件名</returns> public static string UploadFile(StorageNode storageNode, byte[] contentByte, string fileExt) { var storageReqeust = UPLOAD_FILE.Instance.GetRequest(storageNode.EndPoint, storageNode.StorePathIndex, contentByte.Length, fileExt, contentByte); var storageResponse = new UPLOAD_FILE.Response(storageReqeust.GetResponse()); return storageResponse.FileName; }