public String GetImageDownloadUrl(String imageServerId) { StringBuilder sBuilder = new StringBuilder(KinveyWebClient.KinveyApiBlobUrl); sBuilder.Append("/"); sBuilder.Append(imageServerId); String requestUri = sBuilder.ToString(); String result = null; result = KinveyWebClient.GetImageStringAsync(requestUri).Result; KinveyPostResult kpr = JsonConvert.DeserializeObject <KinveyPostResult>(result); return(kpr._downloadURL); }
public override string Execute() { string result = null; string serverImagePath = ""; string filename = getImageName(ImageType, Id); byte[] imageContent = AppProvider.IOManager.GetBytesFileContent(ImagePath); KinveyPostImage kpi = new KinveyPostImage() { _filename = filename, mimeType = "image/jpg", _public = true, size = AppProvider.IOManager.GetFileSize(ImagePath) }; Dictionary <string, string> ImageRequestHeaders = new Dictionary <string, string>(); string serializedData = JsonConvert.SerializeObject(kpi); result = KinveyWebClient.PostImageStringAsync(serializedData).Result; KinveyPostResult kpr = JsonConvert.DeserializeObject <KinveyPostResult>(result); foreach (KeyValuePair <string, string> pair in kpr._requiredHeaders) { ImageRequestHeaders.Add(pair.Key, pair.Value); } /* TODO - Mudar o HttpClient abaixo para uma função d0 KinveyWebClient */ HttpClient httpClient = KinveyWebClient.CreateHttpClient(ImageRequestHeaders); ByteArrayContent bac = new ByteArrayContent(imageContent); bac.Headers.ContentLength = kpi.size; HttpResponseMessage response = httpClient.PutAsync(kpr._uploadURL, bac).Result; ; if (response.IsSuccessStatusCode) { //string content = response.Content.ReadAsStringAsync().Result; serverImagePath = GetImageDownloadUrl(kpr._id); } return(serverImagePath); }