Передача потока памяти из одного API в другой API
Я пытаюсь экспортировать некоторые данные в Excel и сохранить их в AWS S3. Наша нынешняя архитектура похожа,
мы получаем данные из базы данных и манипулируем ими в соответствии с нашими потребностями. Это делается одним вызовом API.
Нам нужно передать эти данные в виде потока в другой API (специально разработанный для взаимодействия с AWS S3)
Сохраните этот поток как файл 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
}
Любая помощь высоко ценится!!