[HttpPost]
public async Task<ActionResult<Employee>> PostEmployee()
{
IFormFile file = HttpContext.Request.Form.Files["photo"];
string uploadFolder = Path.Combine(environment.ContentRootPath, "images");
string uniqueFileName = Guid.NewGuid().ToString() + "_" + file.FileName;
string filePath = uploadFolder + uniqueFileName;
var employee = new Employee
{
Name = HttpContext.Request.Form["name"],
DepartmentId = Convert.ToInt32((HttpContext.Request.Form["department"])),
Email = HttpContext.Request.Form["email"],
PhoneNumber = HttpContext.Request.Form["phoneNumber"],
Gender = (Gender)(Convert.ToInt32(HttpContext.Request.Form["gender"])),
ContactPreference = (ContactPreference)(Convert.ToInt32(HttpContext.Request.Form["contactPreference"])),
// Date of birth is not working cant convert from the httpcontext
DateOfBirth = Convert.ToDateTime(HttpContext.Request.Form["dateOfBirth"]),
IsActive =Convert.ToBoolean( HttpContext.Request.Form["isActive"]),
};
if (file != null)
{
employee.PhotoPath = uniqueFileName;
}
try
{
_context.Employees.Add(employee);
var x = await _context.SaveChangesAsync();
if (x > 0)
{
using (var fileStream = new FileStream(filePath, FileMode.Create))
{
await file.CopyToAsync(fileStream);
}
}
}
catch (Exception)
{
throw;
}
return Ok(employee);
//CreatedAtAction("GetEmployee", new { id = employee.Id }, employee);
}
Я пытаюсь создать вызов post api. До сих пор я делал вышеописанное, но я не убежден в том, что я использовал здесь try catch, могу ли я использовать оператор using лучше, чем использовать попробуйте поймать ... есть ли другой способ получить данные с изображения из внешнего интерфейса. Пожалуйста, не обращайте внимания на мои ошибки новичка