public async Task <IActionResult> Upload(ImageUploadVM viewModel) { bool success = false; string fileName = string.Empty; if (viewModel.File != null) { fileName = fileService.GetFileName(viewModel.File.FileName); if (!string.IsNullOrEmpty(fileName)) { success = await fileService.SaveFileFromFormAsync(viewModel.File, fileName); } } else if (viewModel.ImageUrl != null) { fileName = fileService.GetFileName(viewModel.ImageUrl); if (!string.IsNullOrEmpty(fileName)) { success = await fileService.SaveFileFromUrlAsync(viewModel.ImageUrl, fileName); } } else { ModelState.AddModelError(nameof(viewModel.ImageUrl), "At least one file need to be specified."); ModelState.AddModelError(nameof(viewModel.File), "At least one file need to be specified."); } if (!success) { ModelState.AddModelError(nameof(viewModel.SomethingWentWrong), "Something went wrong"); viewModel.SomethingWentWrong = true; } if (!ModelState.IsValid) { viewModel.Galleries = service.GetAllGalleries(); return(View(viewModel)); } viewModel.FileName = fileName; await service.CreateImage(viewModel); return(RedirectToAction(nameof(GalleryController.Index), Gallery)); }
public ActionResult ImageUpload(ImageUploadVM imageFile) { var imageUploadService = new ImageUploadLogic(); if (imageUploadService.Upload(imageFile.Image, imageFile.ImageThumbnail, imageFile.ProductId)) { ViewBag.Message = "Upload successful"; return(RedirectToAction("ProductDetails", "StoreManager", new { id = imageFile.ProductId })); } else { ViewBag.Message = "Upload failed"; return(RedirectToAction("Upload")); } }
private string UploadedFile(ImageUploadVM model) { string uniqueFileName = null; if (model.Slika != null) { string uploadsFolder = Path.Combine(webHostEnvironment.WebRootPath, "images"); uniqueFileName = Guid.NewGuid().ToString() + "_" + model.Slika.FileName; string filePath = Path.Combine(uploadsFolder, uniqueFileName); using (var fileStream = new FileStream(filePath, FileMode.Create)) { model.Slika.CopyTo(fileStream); } } return(uniqueFileName); }
public IHttpActionResult ApproveSignature(ImageUploadVM imageUpload) { string tempPath = HttpContext.Current.Server.MapPath("~/TempUploads/" + imageUpload.newImage); string newPath = HttpContext.Current.Server.MapPath("~/Uploads/" + imageUpload.newImage); string oldPath = HttpContext.Current.Server.MapPath("~/Uploads/" + imageUpload.oldImage); ImageHelper imgHelper = new ImageHelper(); ImageFormat format = imageUpload.newImage.EndsWith(".png") ? ImageFormat.Png : ImageFormat.Jpeg; if (imgHelper.EncodeAndResize(tempPath, 300000, 200000, format)) { imgHelper.MoveFile(tempPath, newPath); } imgHelper.DeleteFile(oldPath); imgHelper.MaintainFolder(HttpContext.Current.Server.MapPath("~/TempUploads/"), 1); return(Ok()); }
public async Task <IActionResult> ImageUpload(ImageUploadVM model) { string uniqueFileName = UploadedFile(model); Slika slika = new Slika { Putanja = uniqueFileName }; dbContext.Add(slika); await dbContext.SaveChangesAsync(); List <Slika> slike = await dbContext.Slika.OrderByDescending(x => x.Id).ToListAsync(); ViewData["slike"] = slike; return(View("Views/Admin/ImageUpload.cshtml")); }
public async Task CreateImage(ImageUploadVM viewModel) { var image = new Image { Created = DateTime.Now, GalleryId = viewModel.GalleryId, Title = viewModel.Title, Url = viewModel.FileName, }; if (!string.IsNullOrWhiteSpace(viewModel.Tags)) { var tags = context.Tag.ToArray(); foreach (var tag in viewModel.Tags.Split(",")) { var tagName = tag.Trim(); var tagToBeInserted = tags.SingleOrDefault(t => t.Name == tagName); if (tagToBeInserted == null) { tagToBeInserted = new Tag { Name = tagName } } ; image.TagToImage.Add(new TagToImage { Image = image, Tag = tagToBeInserted, }); } } context.Image.Add(image); await context.SaveChangesAsync(); }