예제 #1
0
        private async Task <CommitUploadResponse> DoCommitRequest(VodClient client, ApplyUploadResponse applyResp)
        {
            CommitUploadRequest commitReq = new CommitUploadRequest();

            commitReq.VodSessionKey = applyResp.VodSessionKey;
            TencentCloudSDKException err = null;

            for (int i = 0; i < retryTime; i++)
            {
                try
                {
                    return(await client.CommitUpload(commitReq));
                }
                catch (TencentCloudSDKException exception)
                {
                    if (exception.RequestId == "")
                    {
                        err = exception;
                        continue;
                    }
                    throw exception;
                }
            }
            throw err;
        }
        /// <summary>
        /// 该接口用于确认媒体文件(和封面文件)上传到腾讯云点播的结果,并存储媒体信息,返回文件的播放地址和文件 ID。
        /// </summary>
        /// <param name="req">参考<see cref="CommitUploadRequest"/></param>
        /// <returns>参考<see cref="CommitUploadResponse"/>实例</returns>
        public async Task <CommitUploadResponse> CommitUpload(CommitUploadRequest req)
        {
            JsonResponseModel <CommitUploadResponse> rsp = null;

            try
            {
                var strResp = await this.InternalRequest(req, "CommitUpload");

                rsp = JsonConvert.DeserializeObject <JsonResponseModel <CommitUploadResponse> >(strResp);
            }
            catch (JsonSerializationException e)
            {
                throw new TencentCloudSDKException(e.Message);
            }
            return(rsp.Response);
        }