Beispiel #1
0
        public async Task <string> PostFile(string apiPath, string query, string filepath)
        {
            HttpResponseMessage response = null;
            var url = MakeApiUrl(apiPath, query);

            if (!string.IsNullOrEmpty(filepath))
            {
                var form   = new MultipartFormDataContent();
                var stream = filesGateway.GetReadStream(filepath);
                var file   = new StreamContent(stream);
                file.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
                {
                    FileName = Path.GetFileName(filepath),
                    Name     = "file"
                };
                form.Add(file);
                response = await http.PostAsync(url, form);
            }
            else
            {
                response = await http.PostAsync(url, null);
            }
            var content = await response.EnsureSuccessStatusCode()
                          .Content.ReadAsByteArrayAsync();

            return(Encoding.UTF8.GetString(content, 0, content.Length));
        }