Передача потока памяти из одного API в другой API

Я пытаюсь экспортировать некоторые данные в Excel и сохранить их в AWS S3. Наша нынешняя архитектура похожа,

  1. мы получаем данные из базы данных и манипулируем ими в соответствии с нашими потребностями. Это делается одним вызовом API.

  2. Нам нужно передать эти данные в виде потока в другой API (специально разработанный для взаимодействия с AWS S3)

  3. Сохраните этот поток как файл Excel в AWS S3.

Пока что я достиг:

Я могу получить данные из базы данных и преобразовать их в поток памяти. Я написал другой API для получения этого потока. Но не удалось передать поток памяти из одного API в другой API.

1-й API:

    public async Task<ICollection<UserDTO>> ExportUsers(Guid groupId, HttpRequestMessage request)
    {

       var ms = // get's memory stream out of data received from database.

          var client = new HttpClient
                             {
                               BaseAddress = new Uri("http://localhost:58025/")
                             };
                    client.DefaultRequestHeaders.Accept.Clear();
                    client.DefaultRequestHeaders.Accept.Add(
                    new MediaTypeWithQualityHeaderValue("application/bson"));

      MediaTypeFormatter bsonFormatter = new BsonMediaTypeFormatter(); 
    //Not sure about BsonMediaTypeFormmater. Juz gave it a try

       var response = await  client.PostAsync("http://localhost:58025/Resource/Memory", ms, bsonFormatter);
    }

2-й API:

   [HttpPost]
   [Route("Resource/Memory", Name = "UploadMemory")]
   public async Task<IHttpActionResult> UploadMemoryFile(MemoryStream memory)
   {
       // Not reaching until here
   }

Любая помощь высоко ценится!!

0 ответов

Другие вопросы по тегам