public async Task <string> UploadUserImage(AddUserAvatarRequest request) { if (request.Image != null && request.Name != null) { string date = DateTime.Now.ToString("yyyyMMddTHHmm"); var wwwroot = "wwwroot\\avatar"; var avatarRoot = "\\avatar"; var fileName = Path.GetFileName(request.Image.FileName); var ext = MimeTypes.MimeTypeMap.GetExtension(request.Image.ContentType); var FileNameWithExt = string.Concat(fileName, ext); var filePath = Path.Combine(Directory.GetCurrentDirectory(), wwwroot, FileNameWithExt); var image = request.Image; using var fileStream = new FileStream(filePath, FileMode.Create); await image.CopyToAsync(fileStream); var imagePath = Path.Combine(avatarRoot, FileNameWithExt).Replace('\\', '/'); User user = _repository.GetUserByName(request.Name); user.UserAvatar = imagePath; await _repository.UpdateUser(user); return(imagePath); } return(null); }
public async Task <IActionResult> CreateUserAvatar([FromForm] AddUserAvatarRequest request) { var url = await _service.UploadUserImage(request); if (url == null) { return(BadRequest()); } return(Ok(url)); }