public async Task <UploadResponse> UploadAsync(UploadRequest request, byte[] file, CancellationToken cancellationToken) { var content = new ByteArrayContent(file); content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); content.Headers.Add("Dropbox-API-Arg", request.ToString()); var response = await _httpClient.PostAsync("/2/files/upload", content, cancellationToken); response.EnsureSuccessStatusCode(); var json = await response.Content.ReadAsStringAsync(); return(JsonConvert.DeserializeObject <UploadResponse>(json, new JsonSerializerSettings().ConfigureForDropboxApi()) !); }