Example #1
0
        public async Task<UploadResult> Upload(string fullPath)
        {
            using (var content = new MultipartFormDataContent())
            {
                var fileName = Path.GetFileName(fullPath);
                var request = new UploadRequest(fileName);

                var stringContent = new StringContent(JsonConvert.SerializeObject(request));
                stringContent.Headers.Add("Content-Disposition", "form-data; name=\"json\"");
                content.Add(stringContent, "json");

                var fs = File.OpenRead(fullPath);
                var streamContent = new StreamContent(fs);
                streamContent.Headers.Add("Content-Type", "application/octet-stream");
                streamContent.Headers.Add("Content-Disposition", string.Format("form-data; name=\"file\"; filename=\"{0}\"", fileName));
                content.Add(streamContent, "file", fileName);

                var requestUri = info.Get("/api/upload");
                var message = await client.PostAsync(requestUri, content);
                var stringResult = await message.Content.ReadAsStringAsync();
                return JsonConvert.DeserializeObject<UploadResult>(stringResult);
            }
        }
 public static UploadResult Ok(UploadRequest request)
 {
     return new UploadResult(request);
 }
 private UploadResult(UploadRequest request)
 {
     Request = request;
 }