Exemplo n.º 1
0
        public async System.Threading.Tasks.Task <VideoAutherOutput> CreateUploadVideoRequestAsync(VodUploadDto input)
        {
            CreateUploadVideoRequest request =
                new CreateUploadVideoRequest {
                Title = input.Title, FileName = input.FileName, CateId = input.CateId
            };

            var videoInfo = await _videoResourceRepository.FirstOrDefaultAsync(a => a.CateName == input.Title && a.CateId == input.CateId);

            if (videoInfo != null)
            {
                throw  new UserFriendlyException($"{videoInfo.CateName}下已经有包含的同名{input.Title},请重命名后再次上传");
            }



            var vodClient = _aliyunVodManager.InitVodClient();

            CreateUploadVideoResponse data = vodClient.GetAcsResponse(request);

            var response = new VideoAutherOutput()
            {
                UploadAuth = data.UploadAuth, VideoId = data.VideoId, UploadAddress = data.UploadAddress
            };

            return(response);
        }
Exemplo n.º 2
0
 /// <summary>
 /// 上传视频获取上传凭证和地址
 /// </summary>
 /// <param name="title">视频名称</param>
 /// <param name="fileName">视频地址(需带后缀名)</param>
 public static void GetVideoUploadParameter(string title, string fileName)
 {
     try
     {
         // 构造请求
         CreateUploadVideoRequest request = new CreateUploadVideoRequest();
         request.Title    = title;
         request.FileName = fileName;
         // request.Tags = "tags1,tags2";
         // request.Description = "this is a sample description";
         // request.CoverURL = coverUrl;
         // request.CateId = -1;
         // request.TemplateGroupId = "278840921dee4963bb5862b43aeb2273";
         // 初始化客户端
         //DefaultAcsClient client = InitVodClient();
         // 发起请求,并得到响应结果
         CreateUploadVideoResponse response = client.GetAcsResponse(request);
         //视频ID
         videoId = response.VideoId;
         //上传凭证
         videoToken = response.UploadAuth;
         //上传地址
         videoAddress = response.UploadAddress;
     }
     catch (ServerException ex)
     {
         Console.WriteLine(ex.ToString());
     }
     catch (ClientException ex)
     {
         Console.WriteLine(ex.ToString());
     }
 }
        public static CreateUploadVideoResponse Unmarshall(UnmarshallerContext context)
        {
            CreateUploadVideoResponse createUploadVideoResponse = new CreateUploadVideoResponse();

            createUploadVideoResponse.HttpResponse  = context.HttpResponse;
            createUploadVideoResponse.RequestId     = context.StringValue("CreateUploadVideo.RequestId");
            createUploadVideoResponse.VideoId       = context.StringValue("CreateUploadVideo.VideoId");
            createUploadVideoResponse.UploadAddress = context.StringValue("CreateUploadVideo.UploadAddress");
            createUploadVideoResponse.UploadAuth    = context.StringValue("CreateUploadVideo.UploadAuth");

            return(createUploadVideoResponse);
        }
        private CreateUploadVideoResponseResult GetUploadAddress(RecordVideoInfo info)
        {
            DefaultAcsClient          client   = InitVodClient();
            CreateUploadVideoResponse response = client.GetAcsResponse(CreateUploadVideoRequest(info));

            return(new CreateUploadVideoResponseResult()
            {
                CreateUploadVideoResponse = response,
                UploadAddressInfo = JsonConvert.DeserializeObject <UploadAddressInfo>(Encoding.UTF8.GetString(Convert.FromBase64String(response.UploadAddress))),
                UploadAuth = JsonConvert.DeserializeObject <UploadAuth>(Encoding.UTF8.GetString(Convert.FromBase64String(response.UploadAuth)))
            });
        }
Exemplo n.º 5
0
        /// <summary>
        /// 获取视频上传地址和凭证
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public CreateUploadVideoResponse CreateUploadVideo(CreateUploadVideoRequest request)
        {
            CreateUploadVideoResponse response = new CreateUploadVideoResponse();

            try
            {
                response = acsClient.GetAcsResponse(request);
            }
            catch (Exception ex)
            {
            }
            return(response);
        }