Ejemplo n.º 1
0
        private async Task <string> UploadFile(FileData fileData, Guid petId)
        {
            FileCreateModel fileCreateModel = new FileCreateModel();
            RestClient      client          = new RestClient();

            var dataToUpload = fileData.DataArray;
            var fileName     = fileData.FileName;

            if (dataToUpload.Length > 5e+7)
            {
                return("File to large. File must be under 50MB");
            }

            string name = "";
            string type = "";

            var valid = SeperateTypeAndName(fileName, ref name, ref type);

            if (valid)
            {
                fileCreateModel.Type      = type;
                fileCreateModel.AccountId = UserInfo.AccountId;
                fileCreateModel.Data      = Convert.ToBase64String(dataToUpload);
                fileCreateModel.Name      = name;
                fileCreateModel.PetId     = petId;

                var response = await client.PostAsync("api/files", "", UserInfo.Token, JsonConvert.SerializeObject(fileCreateModel));

                if (response.StatusCode == System.Net.HttpStatusCode.Created)
                {
                    return("");
                }
                else
                {
                    return("File creation error");
                }
            }

            return("File does not contain type or file name is invlaid");
        }
Ejemplo n.º 2
0
        public async Task <HttpResponseMessage> AddFileInBatchAsync(HttpMethod method, FileCreateModel fileModel, string authToken, string baseUrl, string batchId, string fileName, long?fileContentSizeHeader,
                                                                    string mimeTypeHeader = "application/octet-stream", string correlationId = "")
        {
            string uri         = $"{baseUrl}/batch/{batchId}/files/{fileName}";
            string payloadJson = JsonConvert.SerializeObject(fileModel);

            using var httpRequestMessage = new HttpRequestMessage(method, uri)
                  {
                      Content = new StringContent(payloadJson, Encoding.UTF8, "application/json")
                  };
            if (fileContentSizeHeader.HasValue)
            {
                httpRequestMessage.Headers.Add("X-Content-Size", fileContentSizeHeader.Value.ToString());
            }
            if (correlationId != "")
            {
                httpRequestMessage.Headers.Add("X-Correlation-ID", correlationId);
            }
            if (mimeTypeHeader != null)
            {
                httpRequestMessage.Headers.Add("X-MIME-Type", mimeTypeHeader);
            }

            httpRequestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", authToken);
            return(await httpClient.SendAsync(httpRequestMessage, CancellationToken.None));
        }