public IActionResult UploadVideo(UploadImages model) { if (ModelState.IsValid) { model.OwnerId = userService.GetUserId(); PostImages postImages = new PostImages(); postImages.Id = model.Id; postImages.OwnerId = userService.GetUserId(); if (model.files != null) { foreach (IFormFile image in model.files) { Image path = new Image(); var uploadFolder = Path.Combine(environment.WebRootPath, "videos"); string uniqueFileName = Guid.NewGuid().ToString() + "_" + image.FileName; string filePath = Path.Combine(uploadFolder, uniqueFileName); image.CopyTo(new FileStream(filePath, FileMode.Create)); path.FilePath = uniqueFileName; path.PostId = model.Id; postImages.files.Add(path); } if (videoManager.UploadVideo(postImages)) { return(RedirectToAction("Edit", "Posts", new { id = model.Id })); } } return(RedirectToAction("Edit", "Posts", new { id = model.Id })); } return(View()); }
public async Task <ImageModel> PostGameImage(ImageModel image, int GameID) { SqlParameter gameParam = new SqlParameter { ParameterName = "@GameID", SqlDbType = SqlDbType.Int, Value = GameID }; SqlParameter nameParam = new SqlParameter { ParameterName = "@ImageName", SqlDbType = SqlDbType.NVarChar, Value = image.Name }; SqlParameter sizeParam = new SqlParameter { ParameterName = "@ImageSize", SqlDbType = SqlDbType.Int, Value = image.FileSize }; SqlParameter base64Param = new SqlParameter { ParameterName = "@ImageBase64", SqlDbType = SqlDbType.VarChar, Value = image.Base64String }; SqlParameter contentParam = new SqlParameter { ParameterName = "@ContentType", SqlDbType = SqlDbType.NVarChar, Value = image.ContentType }; return(await PostImages.FromSql("EXEC CoQ.PostImage @GameID, @ImageName, @ImageSize, @ImageBase64, @ContentType", new[] { gameParam, nameParam, sizeParam, base64Param, contentParam }).FirstOrDefaultAsync()); }
/// <summary> /// Event handler for inserting new photo from PhotoUploader child /// </summary> /// <param name="image"></param> /// <returns></returns> protected internal void PhotoInserted(ImageDto image) { Images?.Add(image); var postImage = CreatePostImage(image.ImageId, PostImages?.Count < 1); PostImages?.Add(postImage); }
/// <summary> /// Event handler for deleting existing uploaded photo in the /// </summary> /// <param name="imageId"></param> /// <returns></returns> protected internal async Task OnPhotoDeletedHandlerAsync(Guid imageId) { //Remove from images if (await PhotoViewer.DeletePhoto(imageId)) { Images?.Remove(Images?.FirstOrDefault(p => p.ImageId == imageId)); } //Remove from PostImages PostImages?.Remove(PostImages?.FirstOrDefault(p => p.ImageId == imageId)); var photo = PostImages?.FirstOrDefault(); if (photo is null) { return; } photo.IsDefaultPostImage = true; }
public bool UploadVideo(PostImages model) { var post = db.Posts.Find(model.Id); if (post.OwnerID != model.OwnerId) { return(false); } foreach (var im in model.files) { Video image = new Video(); image.PostId = im.PostId; image.FilePath = im.FilePath; if (!base.Add(image)) { return(false); } } return(true); }
public async Task <int> InsertNewPostImagesAsync(PostImages postImages) { string token = await protectedLocalStorage.GetAsync <string>(TokenKey); string serializedData = JsonConvert.SerializeObject(postImages); var requestMessage = new HttpRequestMessage(HttpMethod.Post, "InsertNewPostImagesAsync"); requestMessage.Content = new StringContent(serializedData); requestMessage.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); requestMessage.Headers.Authorization = new AuthenticationHeaderValue("bearer", token); var response = await httpClient.SendAsync(requestMessage); int result = 0; if (response.IsSuccessStatusCode) { result = JsonConvert.DeserializeObject <int>(await response.Content.ReadAsStringAsync()); return(result); } return(result); }
public async Task <ICollection <Image> > UploadAsync(ICollection <IFormFile> images, int postId) { var allImages = new List <Image>(); foreach (var image in images) { byte[] imageInBytes; using var memoryStream = new MemoryStream(); await image.CopyToAsync(memoryStream); imageInBytes = memoryStream.ToArray(); using var destinationStream = new MemoryStream(imageInBytes); var param = new ImageUploadParams() { File = new FileDescription(image.Name, destinationStream), }; var result = await this.cloudinary.UploadAsync(param); var url = result.SecureUri.ToString(); var urlForDb = url.Replace(GlobalConstants.DefaultCloudinaryLink, string.Empty); var imgId = await this.imageService.AddAsync(urlForDb); var postImage = new PostImages() { ImageId = imgId, PostId = postId, }; await this.db.AddAsync(postImage); await this.db.SaveChangesAsync(); } return(allImages); }
public async Task <ActionResult <int> > InsertNewPostImagesAsync(PostImages postImages) { await dbContext.PostImagesMaster.AddAsync(postImages); return(await dbContext.SaveChangesAsync()); }
public bool UploadImages(PostImages model) { return(repository.UploadImages(model)); }