Ejemplo n.º 1
0
        /// <summary>
        /// Upload video from local drive to vzaar upload host
        /// </summary>
        /// <param name="path">Path of the video file to be uploaded</param>
        /// <returns>GUID of the file uploaded</returns>
        public string uploadVideo(string path)
        {
            var query = new UploadSignatureQuery();
            query.path = path;
            var fileInfo = new FileInfo(path);
            query.fileSize = fileInfo.Length;
            query.filename = fileInfo.Name;
            query.multipart = true;
            var signature = new UploadSignature();

            signature = getUploadSignature(query);
            if (String.IsNullOrEmpty(signature.chunkSize))
            {
                return simpleUpload(path, signature);
            }

            return multipartUpload(path, signature);  
        }
Ejemplo n.º 2
0
        public Int64 uploadLink(UploadLinkQuery query)
        {
            var url = apiUrl + "/api/upload/link.xml";

            var signatureQuery = new UploadSignatureQuery();
            signatureQuery.url = query.url;
            signatureQuery.multipart = true;

            var signature = new UploadSignature();

            signature = getUploadSignature(signatureQuery);

            var data = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
                       "<vzaar-api>" +
                            "<link_upload>" +
                                "<key>" + signature.key + "</key>" +
                                "<guid>" + signature.guid + "</guid>" +
                                "<url>" + HttpUtility.HtmlEncode(query.url) + "</url>" +
                                "<encoding_params>" +
                                    "<title>" + HttpUtility.HtmlEncode(query.title) + "</title>" +
                                    "<description>" + HttpUtility.HtmlEncode(query.description) + "</description>" +
                                    "<size_id>" + query.size_id + "</size_id>" +
                                    "<bitrate>" + query.bitrate + "</bitrate>" +
                                    "<width>" + query.width + "</width>" +
                                    "<transcoding>" + query.transcoding.ToString().ToLower() + "</transcoding>" +
                                "</encoding_params>" +
                            "</link_upload>" +
                       "</vzaar-api>";

            var response = executeRequest(url, "POST", data);

            var doc = new XmlDocument();
            doc.LoadXml(response);
            var videoId = Int64.Parse(doc.SelectSingleNode("//id").InnerText);

            return videoId;
        }
Ejemplo n.º 3
0
        public UploadSignature getUploadSignature(UploadSignatureQuery query)
        {
            var url = apiUrl + "/api/v1.1/videos/signature";
            var oAuth = new OAuthBase();
            if (String.IsNullOrEmpty(query.path) && String.IsNullOrEmpty(query.url))
            {
                throw new ArgumentException("path or url must be provided");
            }

            if (!String.IsNullOrEmpty(query.path))
            {
                url += "?path=" + oAuth.UrlEncode(query.path);
                if (!String.IsNullOrEmpty(query.filename))
                {
                    url += "&filename=" + oAuth.UrlEncode(query.filename);
                }
                if (query.fileSize > 0)
                {
                    url += "&filesize=" + query.fileSize;
                }
            }
            else
            {
                url += "?url=" + oAuth.UrlEncode(query.url);
            }

            if (enableFlashSupport)
            {
                url += "&flash_request=true";
            }
            if (!String.IsNullOrEmpty(query.redirectUrl))
            {
                url += "&success_action_redirect=" + oAuth.UrlEncode(query.redirectUrl);
            }

            if (query.multipart)
            {
                url += "&multipart=true";
                url += "&uploader=" + uploader;
            }

            UploadSignature signature = null;

            var response = executeRequest(url);
            signature = new UploadSignature(response);

            return signature;
        }