public async Task <ActionResult> DeleteImage(long ID) { var image = new ImagePostViewModel(); using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/images/image/{ID}"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { image = JsonConvert.DeserializeObject <ImagePostViewModel>(content); } } } if (image == null) { return(Json(new { success = false, message = "404: Image does not exist." })); } else { return(Json(new { success = false, message = "404: Image does not exist." })); // TODO: This here needs to send request to API // Also, make sure directory path is outside of wwwroot //if (Directory.Exists(ImagesPath)) //{ // var di = new DirectoryInfo(ImagesPath); // foreach (var file in di.GetFiles()) // { // if (file.Name == image.Name) // { // file.Delete(); // break; // } // } // BaseWebService.Delete(image); // return Json(new { success = true, message = "Image deleted successfully." }); //} //else // return Json(new { success = false, message = "404: Images path does not exist." }); } }
private string SaveImageToDB(IFormFile file, long targetObjectID, long currentUserID) { var image = new ImagePostViewModel() { Name = file.FileName, FileSize = HumanSizeConverter.ConvertFileLength(file), CreatedDate = DateTime.Now, TargetObjectID = targetObjectID, }; // We save the image once // Then we save again with modified Name property to add its ID Save(image); image.Name = $"{image.ID}_{targetObjectID}_{file.FileName}"; Save(image); return(image.Name); }
//Upload Pictures async Task UploadPictures() { if (TPicker.Visibility == Visibility.Collapsed) { var _Target = (await tempFolder.GetFilesAsync()).Where(x => x.DisplayName.StartsWith("_tmpPic")).ToList(); if (_Target.Count > 1 && _Target.Count <= 10) { InstaSharper.Classes.Models.InstaImage[] imgs = new InstaSharper.Classes.Models.InstaImage[_Target.Count]; for (int i = 0; i < imgs.Length; i++) { ImageProperties imageProperties = await _Target[i].Properties.GetImagePropertiesAsync(); imgs[i] = new InstaSharper.Classes.Models.InstaImage(); imgs[i].URI = _Target[i].Path; imgs[i].Width = int.Parse(imageProperties.Width.ToString()); imgs[i].Height = int.Parse(imageProperties.Height.ToString()); } string PCap = ""; PostCaption.Document.GetText(Windows.UI.Text.TextGetOptions.None, out PCap); var UpResult = await Api.InstaApi.UploadPhotosAlbumAsync(imgs, PCap); ContentDialog End = new ContentDialog { FlowDirection = FlowDirection.RightToLeft, FontFamily = new FontFamily("/Assets/Fonts/IRANSansWeb(FaNum).ttf#IRANSansWeb(FaNum)"), Content = "گالری با موفقیت ارسال شد", CloseButtonText = "باشه" }; await End.ShowAsync(); } else if (_Target.Count == 1) { string PCap = ""; PostCaption.Document.GetText(Windows.UI.Text.TextGetOptions.None, out PCap); ImageProperties imageProperties = await _Target[0].Properties.GetImagePropertiesAsync(); var UpResult = await Api.InstaApi.UploadPhotoAsync(new InstaSharper.Classes.Models.InstaImage(_Target[0].Path, int.Parse(imageProperties.Width.ToString()), int.Parse(imageProperties.Height.ToString())), PCap); ContentDialog End = new ContentDialog { FlowDirection = FlowDirection.RightToLeft, FontFamily = new FontFamily("/Assets/Fonts/IRANSansWeb(FaNum).ttf#IRANSansWeb(FaNum)"), Content = "پست با موفقیت ارسال شد", CloseButtonText = "باشه" }; await End.ShowAsync(); } } else { if (await WebApi.Check()) { var _Target = (await tempFolder.GetFilesAsync()).Where(x => x.DisplayName.StartsWith("_tmpPic")).ToList(); if (_Target.Count > 1 && _Target.Count <= 10) { string PCap = ""; PostCaption.Document.GetText(Windows.UI.Text.TextGetOptions.None, out PCap); ImagePostViewModel imagePostViewModel = new ImagePostViewModel(); imagePostViewModel.caption = PCap; foreach (var img in _Target) { var filestream = await img.OpenStreamForReadAsync(); var filebytes = new byte[(int)filestream.Length]; filestream.Read(filebytes, 0, (int)filestream.Length); imagePostViewModel.images.Add(Convert.ToBase64String(filebytes)); } Dictionary <string, string> dic = new Dictionary <string, string>(); dic.Add("type", InstaMediaType.Carousel.ToString()); dic.Add("accountusername", Api.Username); dic.Add("data", Convert.ToBase64String(ToByteArray(imagePostViewModel))); dic.Add("date", (new DateTime(DPicker.Date.Value.Year, DPicker.Date.Value.Month, DPicker.Date.Value.Day, TPicker.Time.Hours, TPicker.Time.Minutes, TPicker.Time.Seconds)).ToBinary().ToString()); var WResult = await WebApi.Post(WebApi.WebApiURL + "api/uwp/Add_Post", new HttpFormUrlEncodedContent(dic), new HttpCredentialsHeaderValue("Bearer", WebApi.Token)); if (WResult.IsSuccessStatusCode) { await Helper.ShowMessage("پست به صف افزوده شد", "پست به صف افزوده شد"); } else { await Helper.ShowMessage("خطا در ارسال پست", "خطا در ارسال پست"); } } else if (_Target.Count == 1) { string PCap = ""; PostCaption.Document.GetText(Windows.UI.Text.TextGetOptions.None, out PCap); ImagePostViewModel imagePostViewModel = new ImagePostViewModel(); imagePostViewModel.caption = PCap; var filestream = await _Target[0].OpenStreamForReadAsync(); var filebytes = new byte[(int)filestream.Length]; filestream.Read(filebytes, 0, (int)filestream.Length); imagePostViewModel.images.Add(Convert.ToBase64String(filebytes)); Dictionary <string, string> dic = new Dictionary <string, string>(); dic.Add("type", InstaMediaType.Image.ToString()); dic.Add("accountusername", Api.Username); dic.Add("data", Convert.ToBase64String(ToByteArray(imagePostViewModel))); dic.Add("date", (new DateTime(DPicker.Date.Value.Year, DPicker.Date.Value.Month, DPicker.Date.Value.Day, TPicker.Time.Hours, TPicker.Time.Minutes, TPicker.Time.Seconds)).ToBinary().ToString()); var WResult = await WebApi.Post(WebApi.WebApiURL + "api/uwp/Add_Post", new HttpFormUrlEncodedContent(dic), new HttpCredentialsHeaderValue("Bearer", WebApi.Token)); if (WResult.IsSuccessStatusCode) { await Helper.ShowMessage("پست به صف افزوده شد", "پست به صف افزوده شد"); } else { await Helper.ShowMessage("خطا در ارسال پست", "خطا در ارسال پست"); } } } } }