/// <summary> /// 修改 Logo /// </summary> /// <param name="userImageInput"></param> /// <param name="modelState"></param> /// <returns></returns> public async Task <string> ChangeLogoAsync(UserImageInput userImageInput, ModelStateDictionary modelState) { var url = await ChangeUserImageAsync("Logo", userImageInput, modelState, _manager.ChangeLogoAsync); if (modelState.IsValid) { CleanupCache(userImageInput.UserId); } return(url); }
/// <summary> /// ChangeUserImageAsync /// </summary> /// <param name="subFolder"></param> /// <param name="userImageInput"></param> /// <param name="modelState"></param> /// <param name="action"></param> /// <returns></returns> public Task <string> ChangeUserImageAsync(string subFolder, UserImageInput userImageInput, ModelStateDictionary modelState, Func <int, string, ModelStateDictionary, Task <bool> > action) { if (userImageInput.FileCollection.Files.Count == 0) { modelState.AddModelError("Error", "请选择图片"); return(null); } var file = userImageInput.FileCollection.Files[0]; return(SaveFileAsync(1, subFolder, userImageInput.UserId, userImageInput.UserId.ToString(), file, modelState, action)); }
public async Task <ApiResultUrl> ChangeUserLogo([FromForm] UserImageInput userImageInput) { var result = new ApiResultUrl(); var url = await _userService.ChangeLogoAsync(userImageInput, ModelState); if (!ModelState.IsValid) { result.Code = 400; result.Message = $"修改 Logo 失败:{ModelState.FirstErrorMessage()}"; return(result); } result.Url = url; result.Code = 200; result.Message = "修改 Logo 成功"; return(result); }
public async Task <string> UpdateUserImage([FromBody] UserImageInput input) { var userId = _currentUserService.GetCurrentUserId(); if (!userId.HasValue) { throw new AuthenticationException("User is not authenticated"); } var id = userId.Value; if (userId == Guid.Empty || id == null) { throw new ArgumentException(nameof(id)); } var user = await _userContext.ApplicationUsers.FindAsync(id); user.UrlImg = input.UserImage; _userContext.Update(user); await _userContext.SaveChangesAsync(); return(user.UrlImg); }