Я пытаюсь прикрепить файл к статье при сохранении моей статьи через веб-сервис.
Вот как моя статья определяется:
public class Article : BaseEntity
{
public string Title
{
get; set;
}
public File MainPictureFile
{
get; set;
}
(....)
}
Модель Файл определяется следующим образом:
public class File
{
public Guid ID { get; set; }
public string Name
{
get; set;
}
public File()
{
ID = Guid.NewGuid();
}
}
Вот как кодируется моя веб-служба:
[HttpPut]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(typeof(Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateDictionary), StatusCodes.Status400BadRequest)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
[ProducesDefaultResponseType]
public async Task<ActionResult<Article>> PutArticle([FromBody] Article article)
{
_dbContext.Entry(article).State = EntityState.Modified;
try
{
await _dbContext.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException)
{
if (!ArticleExists(article.ID))
{
return NotFound();
}
{
throw;
}
}
return Ok(article);
}
Итак, я отправляю JSON с файлом , уже созданным ранее.Я просто хочу прикрепить это.Затем я использую запрос PUT Http со структурой, подобной этой:
{"id":"39e01ca9-f398-4359-8834-6a8e8400dfeb", "title":"Title", "mainPictureFile":{"id":"503047a3-4244-4299-bc18-1a42b564c2ed","name":"bat.jpg"},"position":0}
Все остальные поля работают отлично.Отсутствует только mainPictureFile.
Чего мне не хватает?