Esempio n. 1
0
        public void DeleteFile(string serverUrl, string serverFileName, string taskId)
        {
            string responseContent = string.Empty;

            try
            {
                var link = string.Format("{0}{1}/{2}/upload/delete", Settings.Host, serverUrl, Settings.v1);

                using (var http = new HttpClient())
                {
                    this.AddAuthorizationHeader(http);

                    var multipartFormDataContent = new MultipartFormDataContent();

                    var deleteRequest = new BaseTaskRequest();

                    deleteRequest.FormData.Add("task", taskId);
                    deleteRequest.FormData.Add("server_filename", serverFileName);

                    this.SetMultiPartFormData(deleteRequest.FormData, multipartFormDataContent);

                    var response = http.PostAsync(link, multipartFormDataContent).Result;

                    responseContent = response.Content.ReadAsStringAsync().Result;

                    //Thorw exception if status code not 200
                    response.EnsureSuccessStatusCode();
                }
            }
            catch (Exception e)
            {
                throw new HttpRequestException(responseContent, e);
            }
        }
Esempio n. 2
0
        public UploadTaskResponse UploadFile(string serverUrl, Uri url, string taskId)
        {
            string responseContent = string.Empty;

            var link = string.Format("{0}{1}/{2}/upload", Settings.Host, serverUrl, Settings.v1);

            try
            {
                using (var httpClient = new HttpClient())
                {
                    this.AddAuthorizationHeader(httpClient);
                    var multiPart = new MultipartFormDataContent();
                    var request   = new BaseTaskRequest();
                    request.FormData.Add("cloud_file", url.AbsoluteUri);
                    request.FormData.Add("task", taskId);
                    this.SetMultiPartFormData(request.FormData, multiPart);

                    var response = httpClient.PostAsync(link, multiPart).Result;

                    responseContent = response.Content.ReadAsStringAsync().Result;

                    response.EnsureSuccessStatusCode();

                    return(JsonConvert.DeserializeObject <UploadTaskResponse>(responseContent));
                }
            }
            catch (Exception e)
            {
                throw new HttpRequestException(responseContent, e);
            }
        }
Esempio n. 3
0
        public UploadTaskResponse UploadFileByChunk(string serverUrl, FileInfo fileInfo, string taskId)
        {
            UploadTaskResponse results         = null;
            string             responseContent = string.Empty;

            var link = string.Format("{0}{1}/{2}/upload", Settings.Host, serverUrl, Settings.v1);

            try
            {
                using (var httpClient = new HttpClient())
                {
                    this.AddAuthorizationHeader(httpClient);

                    var uploadRequest = new BaseTaskRequest();
                    uploadRequest.FormData.Add("task", taskId);

                    //set default values
                    uploadRequest.FormData.Add("file", "");
                    uploadRequest.FormData.Add("chunk", "");



                    List <byte[]> chunksToUpload;

                    using (var fs = fileInfo.OpenRead())
                    {
                        chunksToUpload = ToChunks(fs);

                        uploadRequest.FormData.Add("chunks", chunksToUpload.Count.ToString());
                    }

                    for (int i = 0; i < chunksToUpload.Count; i++)
                    {
                        using (var multipartFormDataContent = new MultipartFormDataContent())
                        {
                            uploadRequest.FormData["chunk"] = (i + 1).ToString();
                            uploadRequest.FormData["file"]  = new FileParameter(chunksToUpload[i], fileInfo.Name);

                            this.SetMultiPartFormData(uploadRequest.FormData, multipartFormDataContent);

                            var response = httpClient.PostAsync(link, multipartFormDataContent).Result;

                            responseContent = response.Content.ReadAsStringAsync().Result;
                            //throw exception if stauscode is not 200
                            response.EnsureSuccessStatusCode();
                        }
                    }

                    results = JsonConvert.DeserializeObject <UploadTaskResponse>(responseContent);
                }
            }
            catch (Exception e)
            {
                throw new HttpRequestException(responseContent, e);
            }

            return(results);
        }
Esempio n. 4
0
        public UploadTaskResponse UploadFile(string serverUrl, FileInfo file, string taskId)
        {
            string responseContent = string.Empty;

            var link = string.Format("{0}{1}/{2}/upload", Settings.Host, serverUrl, Settings.v1);

            try
            {
                using (Stream fs = file.OpenRead())
                {
                    var uploadRequest = new BaseTaskRequest();
                    uploadRequest.FormData.Add("file", new FileParameter(fs, file.Name));
                    uploadRequest.FormData.Add("task", taskId);

                    using (var httpClient = new HttpClient())
                    {
                        this.AddAuthorizationHeader(httpClient);
                        var multipartFormData = new MultipartFormDataContent();
                        this.SetMultiPartFormData(uploadRequest.FormData, multipartFormData);

                        var response = httpClient.PostAsync(link, multipartFormData).Result;

                        responseContent = response.Content.ReadAsStringAsync().Result;

                        //Throw exception is status code is not 200
                        response.EnsureSuccessStatusCode();

                        return(JsonConvert.DeserializeObject <UploadTaskResponse>(responseContent));
                    }
                }
            }
            catch (Exception e)
            {
                throw new HttpRequestException(responseContent, e);
            }
        }