/// <summary> /// 上传从文件 /// </summary> /// <param name="groupName">组名</param> /// <param name="masterFileId">主文件名</param> /// <param name="prefixName">从文件后缀</param> /// <param name="content">文件内容</param> /// <param name="fileExt">文件扩展名(注意:不包含".")</param> /// <param name="clusterName">集群名称</param> /// <returns>文件名</returns> public async ValueTask <string> UploadSlaveFileAsync(string groupName, string masterFileId, string prefixName, byte[] content, string fileExt, string clusterName = "") { fileExt = fileExt.TrimStart('.'); var queryUpdateRequest = new QueryUpdate(groupName, masterFileId); var queryUpdateResponse = await _executer.Execute(queryUpdateRequest, clusterName); var storageNode = new StorageNode(queryUpdateResponse.GroupName, queryUpdateResponse.IPAddress, queryUpdateResponse.Port, 0); var request = new UploadSlaveFile(masterFileId, prefixName, fileExt, content); var response = await _executer.Execute(request, clusterName, storageNode.ConnectionAddress); return(response.FileId); }
/// <summary> /// 上传从文件 /// </summary> /// <param name="groupName">组名</param> /// <param name="masterFileId">主文件名</param> /// <param name="prefixName">从文件后缀</param> /// <param name="filename">本地文件名</param> /// <param name="clusterName">集群名称</param> /// <returns>文件名</returns> public async ValueTask <string> UploadSlaveFileAsync(string groupName, string masterFileId, string prefixName, string filename, string clusterName = "") { var queryUpdateRequest = new QueryUpdate(groupName, masterFileId); var queryUpdateResponse = await _executer.Execute(queryUpdateRequest, clusterName); var storageNode = new StorageNode(queryUpdateResponse.GroupName, queryUpdateResponse.IPAddress, queryUpdateResponse.Port, 0); string extension = Path.GetExtension(filename).Substring(1); var fs = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read); var request = new UploadSlaveFile(masterFileId, prefixName, extension, fs); var response = await _executer.Execute(request, clusterName, storageNode.ConnectionAddress); return(response.FileId); }