Отправка изображения и метаданных с помощью Restful - JSON - PullRequest
0 голосов
/ 04 октября 2018

Я немного новичок в HTTP / 2.Я узнал, что с помощью HTTP / 2 мы можем отправлять несколько запросов на сервер, не дожидаясь предыдущих ответов.Ну, я хочу отправить файл изображения на сервер, который является большим (более 500 МБ).Ниже перечислены здесь

  1. Base64 кодирует файл, за счет увеличения размера данных примерно на 33%.
  2. Отправитьсначала файл в multipart/form-data POST, и вернуть идентификатор клиенту.Затем клиент отправляет метаданные с идентификатором, а сервер повторно связывает файл и метаданные.
  3. Сначала отправьте метаданные и верните идентификатор клиенту.Затем клиент отправляет файл с идентификатором, а сервер повторно связывает файл и метаданные.

Я не хочу использовать первое решение, поскольку оно увеличит размер файла на 33%.Я хочу использовать 3-е решение.

Поскольку я использую HTTP / 2, мои вопросы

  1. Могу ли я отправлять метаданные и изображение одновременно, не ожидая идентификатора с сервера?
  2. Если да, то как я могу реализовать?Например, нужно ли выполнять многопоточность на стороне сервера для клиента или как я могу связать метаданные и изображение друг с другом?
  3. Если нет, тогда я должен перейти на обычный стиль HTTP / 1.1?

Я использую Restful и JSON для общения.В частности, я использую клиент командной строки C # для отправки изображения и Asp.Net в качестве сервера.

1 Ответ

0 голосов
/ 04 октября 2018

Вы можете использовать multipart / related type , чтобы сделать запрос со связанными mime-типами.т.е. в вашем случае вы можете отправить изображение вместе с данными тела JSON.

Вы можете сослаться на файл загрузки с диска Google api , который имеет очень похожую реализацию.

...