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"); }
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)); }