public Int64 uploadLink(UploadLinkQuery query) { var url = apiUrl + "/api/upload/link.xml"; var signature = new UploadSignature(); signature = getUploadSignature(); var data = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<vzaar-api>" + "<link_upload>" + "<key>" + signature.key + "</key>" + "<guid>" + signature.guid + "</guid>" + "<url>" + query.url + "</url>" + "<encoding_params>" + "<title>" + query.title + "</title>" + "<description>" + 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); }
public UploadSignature getUploadSignature(string redirectUrl) { var url = apiUrl + "/api/videos/signature"; var oAuth = new OAuthBase(); redirectUrl = oAuth.UrlEncode(redirectUrl); if (enableFlashSupport) { apiUrl += "?flash_request=true"; } if (redirectUrl != String.Empty) { if (!enableFlashSupport) { url += "?success_action_redirect=" + redirectUrl; } else { url += "&success_action_redirect=" + redirectUrl; } } var response = executeRequest(url); var signature = new UploadSignature(response); return(signature); }
public UploadSignature getUploadSignature() { var url = apiUrl + "/api/videos/signature"; if (enableFlashSupport) { apiUrl += "?=flash_request=true"; } var response = executeRequest(url); var signature = new UploadSignature(response); return(signature); }
public string uploadVideo(string path) { var signature = new UploadSignature(); signature = getUploadSignature(); var url = "https://" + signature.bucket + ".s3.amazonaws.com/"; var parameters = new NameValueCollection { { "key", signature.key }, { "AWSAccessKeyId", signature.accessKeyId }, { "acl", signature.acl }, { "policy", signature.policy }, { "signature", signature.signature }, { "success_action_status", "201" } }; var response = HttpUploadFile(url, path, "file", "application/octet-stream", parameters); return(signature.guid); }
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; }
private string simpleUpload(string path, UploadSignature signature) { var parameters = new NameValueCollection { {"AWSAccessKeyId", signature.accessKeyId}, {"signature", signature.signature}, {"acl", signature.acl}, {"bucket", signature.bucket}, {"policy", signature.policy}, {"success_action_status", "201"}, {"key", signature.key}, {"chunks", "0"}, {"chunk", "0"}, {"x-amz-meta-uploader", uploader} }; var fileStream = new FileStream(path, FileMode.Open, FileAccess.Read); var guid = HttpUploadFile(signature.uplodHostname, parameters, fileStream, path); fileStream.Close(); return guid; }
/// <summary> /// Upload video from local drive in multiple chunks /// </summary> /// <param name="path">Path of the video file to be uploaded</param> /// <param name="signature">Object of type <see cref="UploadSignature"/></param> /// <returns> GUID string of thhe file uploaded</returns> private string multipartUpload(string path, UploadSignature signature) { string guid = null; var fileInfo = new FileInfo(path); long filesize = fileInfo.Length; int chunks = (int)Math.Ceiling((double)filesize / chunkSyzeInBytes(signature.chunkSize)); var buffer = new byte[chunkSyzeInBytes("5mb")]; int bytesRead; var fileStream = new FileStream(path, FileMode.Open, FileAccess.Read); int chunk = 0; while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0) { MemoryStream ms = new MemoryStream(buffer, 0, bytesRead); string key = signature.key.Replace("${filename}", fileInfo.Name) + "." + chunk; var parameters = new NameValueCollection { {"AWSAccessKeyId", signature.accessKeyId}, {"signature", signature.signature}, {"acl", signature.acl}, {"bucket", signature.bucket}, {"policy", signature.policy}, {"success_action_status", "201"}, {"key", key}, {"chunks", chunks.ToString()}, {"chunk", chunk.ToString()}, {"x-amz-meta-uploader", uploader} }; guid = HttpUploadFile(signature.uplodHostname, parameters, ms, path); chunk++; ms.Close(); ms.Dispose(); } fileStream.Close(); return guid; }
/// <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); }
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; }
public string uploadVideo ( string path ) { var signature = new UploadSignature(); signature = getUploadSignature(); var url = "https://" + signature.bucket + ".s3.amazonaws.com/"; var parameters = new NameValueCollection { {"key", signature.key}, {"AWSAccessKeyId", signature.accessKeyId}, {"acl", signature.acl}, {"policy", signature.policy}, {"signature", signature.signature}, {"success_action_status", "201"} }; var response = HttpUploadFile( url, path, "file", "application/octet-stream", parameters ); return signature.guid; }
public UploadSignature getUploadSignature ( string redirectUrl ) { var url = apiUrl + "/api/videos/signature"; var oAuth = new OAuthBase(); redirectUrl = oAuth.UrlEncode( redirectUrl ); if (enableFlashSupport) { url += "?flash_request=true"; } if (redirectUrl != String.Empty) { if (!enableFlashSupport) { url += "?success_action_redirect=" + redirectUrl; } else { url += "&success_action_redirect=" + redirectUrl; } } var response = executeRequest( url ); var signature = new UploadSignature( response ); return signature; }
public UploadSignature getUploadSignature () { var url = apiUrl + "/api/videos/signature"; if (enableFlashSupport) { url += "?flash_request=true"; } var response = executeRequest( url ); var signature = new UploadSignature( response ); return signature; }