Пример #1
0
        public (UploadResult Result, Response Response) Upload(Core.Services.UploadRequest request)
        {
            try {
                var            client             = new VimeoClient(config.VideoSettings.Token);
                var            ticket             = client.GetUploadTicketAsync().Result;
                IBinaryContent file               = new BinaryContent(request.Stream, request.ContentType);
                var            uploadRequest      = client.UploadEntireFileAsync(file).Result;
                var            verificationResult = client.VerifyUploadFileAsync(uploadRequest).Result;

                Task.WaitAll(client.UpdateVideoMetadataAsync(uploadRequest.ClipId.Value,
                                                             new VideoUpdateMetadata {
                    Description = request.Description, Name = request.Title,
                    Privacy     = VideoPrivacyEnum.Password, AllowDownloadVideo = false, Password = config.VideoSettings.Password
                })
                             );

                var albumResult = client.AddToAlbumAsync(4877366, uploadRequest.ClipId.Value).Result;
                Task.WaitAll(client.CompleteFileUploadAsync(uploadRequest));
                var    video        = client.GetVideoAsync(uploadRequest.ClipId.Value).Result;
                string thumbnailUrl = null;
                if (video?.pictures?.sizes != null && video.pictures.sizes.Count > 0)
                {
                    thumbnailUrl = video.pictures.sizes[0].link;
                }

                return(new UploadResult(uploadRequest.ClipId.ToString(), video.StandardVideoLink, thumbnailUrl), Response.CreateSuccessResponse());
            }catch (Exception ex) {
                return(null, Response.CreateResponse(ex));
            }
        }