Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }