pili_sdk_csharp.pili.API.saveAs C# (CSharp) Méthode

saveAs() public static méthode

public static saveAs ( Credentials credentials, string streamId, string fileName, string format, long start, long end, string notifyUrl, string pipleline ) : pili_sdk_csharp.pili.Stream.SaveAsResponse
credentials Credentials
streamId string
fileName string
format string
start long
end long
notifyUrl string
pipleline string
Résultat pili_sdk_csharp.pili.Stream.SaveAsResponse
        public static SaveAsResponse saveAs(Credentials credentials, string streamId, string fileName, string format, long start, long end, string notifyUrl,string pipleline)
        {
            if (streamId == null)
            {
                throw new PiliException(MessageConfig.NULL_STREAM_ID_EXCEPTION_MSG);
            }

            if (!Utils.isArgNotEmpty(fileName))
            {
                throw new PiliException(MessageConfig.ILLEGAL_FILE_NAME_EXCEPTION_MSG);
            }

            if (start < 0 || end < 0 || start > end)
            {
                throw new PiliException(MessageConfig.ILLEGAL_TIME_MSG);
            }

            string urlStr = string.Format("{0}/streams/{1}/saveas", API_BASE_URL, streamId);
            HttpWebResponse response = null;
            JObject json = new JObject();
            json.Add("name", fileName);
            if (Utils.isArgNotEmpty(notifyUrl))
            {
                json.Add("notifyUrl", notifyUrl);
            }
            if (start != 0)
            {
                json.Add("start", start);
            }
            if (end != 0)
            {
                json.Add("end", end);
            }
            json.Add("format", format);
            if (pipleline!=""){

                json.Add("pipleline", pipleline);
            }

            try
            {
                Uri url = new Uri(urlStr);
                mOkHttpClient = (HttpWebRequest)HttpWebRequest.Create(url);
                string contentType = "application/json";
                byte[] body = json.ToString().GetBytes(Config.UTF8);
                string macToken = credentials.signRequest(url, "POST", body, contentType);
                mOkHttpClient.Method = WebRequestMethods.Http.Post;
                mOkHttpClient.ContentType = contentType;
                mOkHttpClient.UserAgent = Utils.UserAgent;
                mOkHttpClient.Headers.Add("Authorization", macToken);
                mOkHttpClient.ContentLength = body.Length;
                using (System.IO.Stream requestStream = mOkHttpClient.GetRequestStream())
                {
                    Utils.CopyN(requestStream, new MemoryStream(body), body.Length);
                }
                response = (HttpWebResponse)mOkHttpClient.GetResponse();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                Console.Write(e.StackTrace);
                throw new PiliException(e);
            }
            // response never be null
            if ((int)response.StatusCode == 200)
            {
                try
                {
                    StreamReader reader = new StreamReader(response.GetResponseStream());
                    string text = reader.ReadToEnd();
                    JObject jsonObj = JObject.Parse(text);
                    return new SaveAsResponse(jsonObj);
                }
                catch (IOException e)
                {
                    Console.WriteLine(e.ToString());
                    Console.Write(e.StackTrace);
                    throw new PiliException(e);
                }
            }
            else
            {
                throw new PiliException(response);
            }
        }

Usage Example

Exemple #1
0
 public virtual SaveAsResponse saveAs(string fileName, string format, long startTime, long endTime, string notifyUrl, string pipleline)
 {
     return(API.saveAs(mCredentials, this.id, fileName, format, startTime, endTime, notifyUrl, pipleline));
 }
All Usage Examples Of pili_sdk_csharp.pili.API::saveAs