public async Task <IActionResult> Upload(int issueTrackerId, IFormFile file) //IFormFile file, IFormCollection files { var issueTracker = await context.IssueTrackers .Include(i => i.IssueType) .Include(d => d.Department) .Include(r => r.Responses) .Include(f => f.IssueImages) .SingleOrDefaultAsync(it => it.Id == issueTrackerId); if (issueTracker == null) { return(NotFound()); } var uploadFolderPath = Path.Combine(host.WebRootPath, "uploads"); if (Directory.Exists(uploadFolderPath)) { Directory.CreateDirectory(uploadFolderPath); } var fileName = Guid.NewGuid().ToString() + Path.GetExtension(file.FileName); var filePath = Path.Combine(uploadFolderPath, fileName); using (var stream = new FileStream(filePath, FileMode.Create)) { await file.CopyToAsync(stream); } //Todo: Creating a thumnail for the file var photo = new IssueImage { FileName = fileName }; issueTracker.IssueImages.Add(photo); await context.SaveChangesAsync(); return(Ok(mapper.Map <IssueImage, IssueImageResource>(photo))); }
private void Worker_DoWork(object sender, DoWorkEventArgs e) { User = JsonConvert.DeserializeObject <Model.User>(Intent.GetStringExtra("UserObject")); Issue = JsonConvert.DeserializeObject <Model.Issue>(Intent.GetStringExtra("IssueObject")); //converting base64 userImage and issueImage to bitmap Byte[] userImgArray = Convert.FromBase64String(User.profile_pic); userImgBitmap = BitmapFactory.DecodeByteArray(userImgArray, 0, userImgArray.Length); Byte[] issueImgArray = Convert.FromBase64String(Issue.IssueImage); issueImgBitmap = BitmapFactory.DecodeByteArray(issueImgArray, 0, issueImgArray.Length); //check if this can be put into background worker block without cross thread exception!! IssueImage.SetImageBitmap(issueImgBitmap); UserImage.SetImageBitmap(userImgBitmap); char[] arr0 = User.name.ToCharArray(); UserName.SetText(arr0, 0, arr0.Length); char[] arr1 = Issue.issueStatement.ToCharArray(); IssueStatement.SetText(arr1, 0, arr1.Length); //check code ends here }
public void Create(IssueImageModel model) { var issue = _context.Issues.FirstOrDefault(x => x.Id == model.IssueId); if (issue == null) { throw new IssueNotFoundException(); } // TODO: Validate user rights var issueImage = new IssueImage { IssueId = model.IssueId, FileName = model.Image.FileName, Created = DateTime.UtcNow }; issue.Images.Add(issueImage); _context.SaveChanges(); model.Id = issueImage.Id; }