public IActionResult NewDocument(NewDocumentView model, IFormFile fileToUpload) { //file = Request.Files["fileToUpload"]; if (fileToUpload == null || fileToUpload.Length <= 0) { ModelState.AddModelError("fileToUpload", "You must select a document to add."); } else { var extenion = fileToUpload.FileName.Substring(fileToUpload.FileName.IndexOf(char.Parse(".")) + 1, fileToUpload.FileName.Length - fileToUpload.FileName.IndexOf(char.Parse(".")) - 1); if (!String.IsNullOrWhiteSpace(extenion)) { extenion = extenion.ToLower(); } if (extenion != "jpg" && extenion != "jpeg" && extenion != "png" && extenion != "gif" && extenion != "gif" && extenion != "pdf" && extenion != "doc" && extenion != "docx" && extenion != "ppt" && extenion != "pptx" && extenion != "pps" && extenion != "ppsx" && extenion != "odt" && extenion != "xls" && extenion != "xlsx" && extenion != "mp3" && extenion != "m4a" && extenion != "ogg" && extenion != "wav" && extenion != "mp4" && extenion != "m4v" && extenion != "mov" && extenion != "wmv" && extenion != "avi" && extenion != "mpg" && extenion != "txt") { ModelState.AddModelError("fileToUpload", string.Format("Document type ({0}) is not importable.", extenion)); } if (fileToUpload.Length > 10000000) { ModelState.AddModelError("fileToUpload", "Document is too large, must be smaller then 10MB."); } } if (ModelState.IsValid) { Document doc = new Document(); doc.DepartmentId = DepartmentId; doc.UserId = UserId; doc.AddedOn = DateTime.UtcNow; doc.Name = model.Name; doc.Description = model.Description; if (ClaimsAuthorizationHelper.IsUserDepartmentAdmin()) { doc.AdminsOnly = bool.Parse(model.AdminOnly); } else { doc.AdminsOnly = false; } doc.Type = fileToUpload.ContentType; doc.Category = model.Category; doc.Filename = fileToUpload.FileName; byte[] uploadedFile = new byte[fileToUpload.OpenReadStream().Length]; fileToUpload.OpenReadStream().Read(uploadedFile, 0, uploadedFile.Length); doc.Data = uploadedFile; _documentsService.SaveDocument(doc); _eventAggregator.SendMessage <DocumentAddedEvent>(new DocumentAddedEvent() { DepartmentId = DepartmentId, Document = doc }); return(RedirectToAction("Index", "Documents", new { Area = "User" })); } return(View(model)); }
public IActionResult NewDocument() { NewDocumentView model = new NewDocumentView(); return(View(model)); }
public async Task <IActionResult> NewDocument() { NewDocumentView model = new NewDocumentView(); return(View(model)); }