コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }