Как отправить изображение и данные (например, имя, возраст, идентификатор, пол) вместе из do tnet core webapi в angular front end и использовать его. Вот как я сохранил продукт в бэкэнд сразу.
addNewProduct(productToAdd: any) {
let formdata: FormData = new FormData();
formdata.append('photo', productToAdd.photo, productToAdd.photoName);//Here is the product photo
formdata.append('name', productToAdd.name);
formdata.append('description', productToAdd.description);
formdata.append('price', productToAdd.price);
formdata.append('isInStock', productToAdd.isInStock)
return this._http.post(BASE_URL + 'product/add', formdata).subscribe();
}
[HttpPost("[action]")]
[Authorize(Policy = "Adminstrator")]
public async Task Add()
{
IFormFile file = HttpContext.Request.Form.Files["photo"];
string uploadsFolder = Path.Combine(environment.ContentRootPath, "images");
string uniqueFileName = Guid.NewGuid().ToString() + "_" + file.FileName;
string filePath = Path.Combine(uploadsFolder, uniqueFileName);
Product product = new Product
{
Name = HttpContext.Request.Form["name"],
Description = HttpContext.Request.Form["description"],
Price = Convert.ToDouble(HttpContext.Request.Form["price"]),
PhotoName = uniqueFileName,
IsInStock = Convert.ToBoolean(HttpContext.Request.Form["isInStock"])
};
using (var fileStream = new FileStream(filePath, FileMode.Create))
{
_context.Products.Add(product);
await _context.SaveChangesAsync();
await file.CopyToAsync(fileStream);
}
}
Теперь я хочу, чтобы обратная сторона отправила те же данные с изображением из webapi в angular front end