在我正在使用的mvc项目中,我按了一个api来发布数据,但是在发布时却遇到了错误,因为api端的Model包含一个名为File的属性,并且IFile的类型可以接受图像,因此消费我不知道如何消费以将图像发送到api,下面是api的代码,请帮助我
[HttpPost("addService/{Id}")]
public async Task<IActionResult> AddServices([FromForm]AddServicesDto addserviceDto, int Id)
{
var serviceTypeFromRepo = await _repos.GetServiceType(Id);
var file = addserviceDto.File;
var uploadResult = new ImageUploadResult();
if (file.Length > 0)
{
using (var stream = file.OpenReadStream())
{
var uploadParams = new ImageUploadParams()
{
File = new FileDescription(file.Name, stream),
Transformation = new Transformation()
.Width(500).Height(500).Crop("fill").Gravity("face")
};
uploadResult = _cloudinary.Upload(uploadParams);
}
}
addserviceDto.Url = uploadResult.Uri.ToString();
addserviceDto.PublicId = uploadResult.PublicId;
var serviceToCreate = _mapper.Map<Service>(addserviceDto);
serviceTypeFromRepo.Services.Add(serviceToCreate);
if (await _repos.SaveAll())
{
var serviceToReturn = _mapper.Map<ServiceToReturnDto>(serviceToCreate);
return Ok(new { serviceToReturn });
}
return BadRequest("Could Not add Service");
}
以上代码是api中的控制器 下面是模型
public class AddServicesDto
{
public string ServiceName { get; set; }
public string ServiceDescription { get; set; }
public string ServiceTitle { get; set; }
public string Url { get; set; }
public IFormFile File { get; set; }
public string PublicId { get; set; }
}
请帮助我使用此特定方法,如何使用MVC实现此目的 仅供参考,我可以使用邮递员成功,但是我不知道如何通过mvc发送图像,请在那里帮助我