コード例 #1
0
        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));
        }
コード例 #2
0
        public IActionResult NewDocument()
        {
            NewDocumentView model = new NewDocumentView();

            return(View(model));
        }
コード例 #3
0
        public async Task <IActionResult> NewDocument()
        {
            NewDocumentView model = new NewDocumentView();

            return(View(model));
        }