Как правильно отправлять изображение с данными на сервер? через json или form data?

У меня сейчас клиентский сервис создания топика отправляет данные на сервер (asp net core) через "multipart/form-data" И заполнение выглядит так:

const data = new FormData();
data.append("Image", post.image);
data.append("Title", post.title);
data.append("Description", post.description);
data.append("Content", post.content);

for (const tag in post.tags) {
  data.append(tag, post.tags[tag].name);
}

Но мне не нравится данное решение потому, что у меня все остальные сервисы отправляют данные через "application/json". И еще потому, что если я добавлю в "post" новое свойство, то придется лезть в сервис и на забыть добавить его в data. А еще мне не нравится что описание endpoint'a на сервере будет отличатся от всех остальных.

Вот у меня вопрос. Нормально ли будет, если я изображение буду кодировать в base64 и отправлять на сервер через json? Или может отправлять вначале картинку, запомнить ее, потом отправить данные другим запросом и связать все? Тогда получится чистый endpoint создания топика. Вообще какие практики используются?


Ответы (0 шт):