public void UploadFile(int entityId, string entityName, IEnumerable <HttpPostedFileBase> file) { //if (!_permissionService.Authorize(StandardPermissionProvider.UploadPictures)) // return Json(new { success = false, error = "You do not have required permissions" }, "text/plain"); var files = file.ToList(); foreach (var fi in files) { //we process it distinct ways based on a browser //find more info here http://stackoverflow.com/questions/4884920/mvc3-valums-ajax-file-upload Stream stream = null; var fileName = ""; var contentType = ""; if (file == null) { throw new ArgumentException("No file uploaded"); } stream = fi.InputStream; fileName = Path.GetFileName(fi.FileName); contentType = fi.ContentType; var fileBinary = new byte[stream.Length]; stream.Read(fileBinary, 0, fileBinary.Length); var fileExtension = Path.GetExtension(fileName); if (!String.IsNullOrEmpty(fileExtension)) { fileExtension = fileExtension.ToLowerInvariant(); } if (String.IsNullOrEmpty(contentType)) { contentType = PictureUtility.GetContentType(fileExtension); } var picture = _pictureService.InsertPicture(fileBinary, contentType, null); var firstBusinessPagePicture = _businessPageService.GetFirstEntityPicture(entityId); if (firstBusinessPagePicture == null) { var businessPagePicture = new BusinessPagePicture() { EntityId = entityId, DateCreated = DateTime.Now, DateUpdated = DateTime.Now, DisplayOrder = 1, PictureId = picture.Id }; _businessPageService.InsertPicture(businessPagePicture); } else { firstBusinessPagePicture.EntityId = entityId; firstBusinessPagePicture.DateCreated = DateTime.Now; firstBusinessPagePicture.DateUpdated = DateTime.Now; firstBusinessPagePicture.DisplayOrder = 1; firstBusinessPagePicture.PictureId = picture.Id; _businessPageService.UpdatePicture(firstBusinessPagePicture); } } }
public void UploadFile(int entityId, string entityName, IEnumerable<HttpPostedFileBase> file) { //if (!_permissionService.Authorize(StandardPermissionProvider.UploadPictures)) // return Json(new { success = false, error = "You do not have required permissions" }, "text/plain"); var files = file.ToList(); foreach (var fi in files) { //we process it distinct ways based on a browser //find more info here http://stackoverflow.com/questions/4884920/mvc3-valums-ajax-file-upload Stream stream = null; var fileName = ""; var contentType = ""; if (file == null) throw new ArgumentException("No file uploaded"); stream = fi.InputStream; fileName = Path.GetFileName(fi.FileName); contentType = fi.ContentType; var fileBinary = new byte[stream.Length]; stream.Read(fileBinary, 0, fileBinary.Length); var fileExtension = Path.GetExtension(fileName); if (!String.IsNullOrEmpty(fileExtension)) fileExtension = fileExtension.ToLowerInvariant(); if (String.IsNullOrEmpty(contentType)) { contentType = PictureUtility.GetContentType(fileExtension); } var picture = _pictureService.InsertPicture(fileBinary, contentType, null); var firstBusinessPagePicture = _businessPageService.GetFirstEntityPicture(entityId); if (firstBusinessPagePicture == null) { var businessPagePicture = new BusinessPagePicture() { EntityId = entityId, DateCreated = DateTime.Now, DateUpdated = DateTime.Now, DisplayOrder = 1, PictureId = picture.Id }; _businessPageService.InsertPicture(businessPagePicture); } else { firstBusinessPagePicture.EntityId = entityId; firstBusinessPagePicture.DateCreated = DateTime.Now; firstBusinessPagePicture.DateUpdated = DateTime.Now; firstBusinessPagePicture.DisplayOrder = 1; firstBusinessPagePicture.PictureId = picture.Id; _businessPageService.UpdatePicture(firstBusinessPagePicture); } } }