Я пытаюсь отправить объект в свой API, но всегда получаю нулевые значения.
Вот мой угловой метод:
createNormalPost(post: CreateNormalPostInterface) {
const formData = 'ceasdasdas'
return this.httpClient.post<any>(this.API, formData,
{headers: {'Content-Type': 'multipart/form-data'}}
);
}
И вот мой контроллер:
[Route("api/[controller]")]
[ApiController]
[AllowAnonymous]
public class PostController : ControllerBase
{
private readonly IPostService _postService;
private readonly ILogger<AuthController> _logger;
public PostController(IPostService postService, ILogger<AuthController> logger)
{
_postService = postService;
_logger = logger;
}
[HttpPost]
public async Task<IActionResult> CreatePostNormalAsync([FromForm] string formData)
{
try
{
Console.WriteLine(formData);
//var response = await _postService.CreatePostNormalAsync(post);
return Ok(formData);
}
catch (Exception ex)
{
_logger.LogError(ex, ex.Message);
return StatusCode(StatusCodes.Status500InternalServerError, ex.Message);
}
}
}
В настоящее время я пытаюсь отправить строку, просто чтобы проверить, отправляются ли данные, но я все равно получаю ноль.
Обновлено: Я думаю, что нашел проблему: каким-то образом запрос отправляется как «приложение/json», а не как данные формы.
Вам следует передать new FormData() в качестве второго варианта вместо строки.





Это был перехватчик, который продолжал переопределять заголовки моих запросов.
Ваш ответ можно улучшить, добавив дополнительную вспомогательную информацию. Пожалуйста, отредактируйте , чтобы добавить дополнительную информацию, например цитаты или документацию, чтобы другие могли подтвердить правильность вашего ответа. Более подробную информацию о том, как писать хорошие ответы, вы можете найти в справочном центре.
Отвечает ли это на ваш вопрос? Отправляйте файлы multipart/form-data с помощью angular, используя $http