jeudi 14 janvier 2021

public IActionResult updateUserProfile([FromForm] UserProfileImage profileImage, [FromBody] User user)

I dont understand where to upload file along with the details as in code in postman { "type": "https://ift.tt/3nGDGu5", "title": "Unsupported Media Type", "status": 415, "traceId": "|9a6de989-4df3231fb8d6efdf." }

[Route("[action]")] [HttpPost]

    public IActionResult updateUserProfile([FromForm] UserProfileImage profileImage, [FromBody] User user)
    {

ResponseMessage response = new ResponseMessage();

            //string directoryName = _environment.WebRootPath + "\\KYC\\Address\\";
            string directoryName = _environment.ContentRootPath + "\\Users\\ProfileImages\\";
            string fileName = profileImage.Files.FileName;

        
      
        try
        {
            var uid = user.UserId;

            if (profileImage.Files.Length > 0)
            {
                if (!Directory.Exists(directoryName))
                {
                    Directory.CreateDirectory(directoryName);
                }

                using (FileStream fileStream = System.IO.File.Create(directoryName + fileName))
                {
                    profileImage.Files.CopyTo(fileStream);
                    fileStream.Flush();
                }

                var updateUser = new User
                {
                    UserId = uid,
                    Email = user.Email,
                    FirstName = user.FirstName,
                    LastName = user.LastName,
                    ProfilePicName = fileName
                };

                if (!_userService.updateUserProfile(updateUser))
                {
                    response = ResponseMessage.Failed("Failed", null);
                }
            }
            else
            {
                response = ResponseMessage.Failed("Failed", null);
            }



            return Ok(response);
        }
        catch (Exception ex)
        {
            _logger.LogError("Internal Server Error " + ex.Message);

            response = ResponseMessage.InternalServerError("Internal Server Error");
            return Ok(response);
        }

    }

Aucun commentaire:

Enregistrer un commentaire