public bool SaveMediaToContent(HttpContext hContext, ResponseMediaFileMessageModel responseMsg) { try { var file = hContext.Request.Files[0]; var ext = Path.GetExtension(file.FileName); var extWoDot = ext.Replace(".", String.Empty); var fileNameToSave = Guid.NewGuid() + Path.GetExtension(file.FileName); var fullPath = _imgStorage + fileNameToSave; file.SaveAs(fullPath); var bIsVideo = DicMimeExtensions.Any(e => e.Value.LstMimes.Contains(extWoDot) && e.Key == SharedConstants.MEDIA_VIDEO); responseMsg.Preview = bIsVideo ? _urlApp + ImageRelativePath + SharedConstants.MEDIA_VIDEO_IMG_FILE : _urlApp + _pathToSave + fileNameToSave; responseMsg.Media = fileNameToSave; responseMsg.FileName = file.FileName; } catch (Exception) { responseMsg.HasError = false; responseMsg.MsgError = ResShared.ERROR_UNKOWN; return false; } return true; }
private bool ValidateUser(HttpContext hContext, ResponseMediaFileMessageModel responseMsg) { try { var userId = hContext.User.Identity.GetUserId(); if (userId == null) { responseMsg.HasError = false; responseMsg.MsgError = ResShared.ERROR_NOTAUTHENTICATED_USER; return false; } if(AccountRepository.IsUserInRole(userId, new[] {RolesConstants.ROLE_MANAGER})) return true; responseMsg.HasError = false; responseMsg.MsgError = ResShared.ERROR_NOTAUTHENTICATED_USER; return false; } catch (Exception) { responseMsg.HasError = false; responseMsg.MsgError = ResShared.ERROR_NOTAUTHENTICATED_USER; return false; } }
private bool ValidateNumberOfFiles(HttpContext hcontext, ResponseMediaFileMessageModel responseMsg) { try { if (hcontext.Request.Files.Count == 1) { return true; } responseMsg.HasError = true; responseMsg.MsgError = ResMediaRep.ERROR_UPLOAD_NOSINGLEMEDIA; return false; } catch (Exception) { return false; } }
private bool ValidateSizeAndExtension(HttpContext hcontext, ResponseMediaFileMessageModel responseMsg) { var file = hcontext.Request.Files[0]; if (file.ContentLength > FileSize) { responseMsg.HasError = true; responseMsg.MsgError = string.Format(ResMediaRep.ERROR_MEDIA_SIZE_TOOLONG, FileSize); return false; } var extFile = file.FileName.FileExtensionWoDot(); if (DicMimeExtensions.Any(e => e.Value.LstMimes.Contains(extFile))) return true; responseMsg.HasError = true; responseMsg.MsgError = ResMediaRep.ERROR_NOT_MEDIAFILE; return false; }
public ResponseMediaFileMessageModel ValidateAndSaveMedia(HttpContext hContext) { var responseMsg = new ResponseMediaFileMessageModel { HasError = false }; try { if (_lstOfActions.GetInvocationList().Cast<ActionUpload>().Any(actionToDo => actionToDo.Invoke(hContext, responseMsg) == false)) { return responseMsg; } responseMsg.MsgError = ResMediaRep.INFO_UPLOADMEDIA_SUCCESSFUL; responseMsg.HasError = false; } catch (Exception) { responseMsg.HasError = true; responseMsg.MsgError = ResMediaRep.ERROR_UPLOADMEDIA_UNKNOW_ERROR; } return responseMsg; }