public ActionResult <UploadCreateResultModel> UploadImage() { //TODO: /* * * Add Serilog * Add MiddleWare for the logging */ if (Request.Form.Files.Count == 0) { return(this.HandleBadRequest <UploadCreateResultModel>( Request.Path, "There are no images to upload")); } int fileCount = 0; try { foreach (var file in Request.Form.Files) { if (file.Length > 0) { fileCount++; Document document = new Document() { Id = Guid.NewGuid(), FileName = file.FileName }; MemoryStream ms = new MemoryStream(); file.CopyTo(ms); document.FileData = ms.ToArray(); ms.Close(); ms.Dispose(); _documentInteractor.UploadDocument(document); } } return(new UploadCreateResultModel() { StatusCode = (int)HttpStatusCode.OK, Message = $"'{fileCount}' file(s) were successfully uploaded." }); } catch (Exception ex) { //TODO: need to do some logging here and middleware return(this.HandleBadRequest <UploadCreateResultModel>( Request.Path, ex.Message.ToString())); } }
public IActionResult UploadDocument(DocumentViewModel model) { if (!ModelState.IsValid) { return(RedirectToAction("Create", "Home", model)); } try { foreach (var file in Request.Form.Files) { if (file.Length > 0) { var document = new NetCore.Core.Entities.Document() { Id = Guid.NewGuid(), Description = model.FileName, FileName = file.FileName }; MemoryStream ms = new MemoryStream(); file.CopyTo(ms); document.FileData = ms.ToArray(); ms.Close(); ms.Dispose(); _documentInteractor.UploadDocument(document); ViewBag.Message = "Image(s) stored in database!"; } } } catch (Exception ex) { ViewBag.Message = "An error has occurred. <br /> " + ex.Message.ToString(); } return(RedirectToAction("Index", model)); }