/// <summary> /// This method generates Tags for the Image /// </summary> /// <param name="filename"></param> /// <returns></returns> public string GenerateTags(string filename) { try { string resStr = string.Empty; ImageTagResponse response = null; var uri = AppConfiguration.GetConfiguration("ApiUrl"); var imgUrl = filename; var objRequest = new { url = imgUrl }; using (var client = new HttpClient()) { client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", AppConfiguration.GetConfiguration("ApiKey")); StringContent content = new StringContent(JsonConvert.SerializeObject(objRequest), Encoding.UTF8, "application/json"); // HTTP POST HttpResponseMessage resMsg = client.PostAsync(uri, content).Result; if (resMsg.IsSuccessStatusCode) { resStr = resMsg.Content.ReadAsStringAsync().Result; response = JsonConvert.DeserializeObject <ImageTagResponse>(resStr); } } return(resStr); } catch (Exception ex) { Logger.writelog(ex.Message); return(""); } }
public ImageTagResponse Upload() { ImageTagResponse responseModel = new ImageTagResponse(); try { var files = Request.Form.Files; if (files == null && files.Count <= 0) { return(null); } var extension = Path.GetExtension(files[0].FileName); var fileName = string.Format(@"{0}" + extension, Guid.NewGuid()); string mimeType = files[0].ContentType; byte[] fileBytes; using (var ms = new MemoryStream()) { files[0].CopyTo(ms); fileBytes = ms.ToArray(); } BlobStorageService objBlobService = new BlobStorageService(); Image image = new Image { Path = objBlobService.UploadFileToBlob(fileName, fileBytes, mimeType), Name = fileName, CreateDate = DateTime.Now, LastModified = DateTime.Now, ExternalKey = _externalKey }; string tagResult = objBlobService.GenerateTags(image.Path); image.Tags = tagResult; _context.ImageRepo.Add(image); _context.SaveChanges(); var resultId = image.ImageId; if (!string.IsNullOrWhiteSpace(tagResult)) { responseModel = JsonConvert.DeserializeObject <ImageTagResponse>(tagResult); } if (responseModel != null) { responseModel.ImageId = resultId; } } catch (Exception ex) { Logger.writelog(ex.Message); responseModel = null; } return(responseModel); }