У меня есть простой C# сервис веб-API, который возвращает pdf-документ в виде байтового содержимого в ответе IHttpActionResult. Я могу легко обработать это как блоб на клиенте (js в браузере) и установить его как sr c для iframe. Все отображается правильно.
Из-за некоторых изменений в требованиях я сейчас реализую простой сервер приложений в nodejs с использованием express; это будет служить прокси-сервером. С моего клиента я могу позвонить на этот сервер express, который, в свою очередь, вызывает мою службу C#. Я получаю 200 http код состояния OK, но, похоже, не могу обработать pdf-байтовый массив в узле. Я пробовал методы Buffer, readstreams и др. c ... Ничего не помогло.
Не могли бы вы, ребята, пролить свет на это? Ниже приведен код: -
httpRequester.get(`${constants.serviceTarget}/api/DocGen/Download/Id/true`, (error, response, body) => {
if(error) {
console.log(error)
} else {
console.log(Buffer.isBuffer(body)) // this is always false
const stream = streamifier.createReadStream(response.body)
console.log("Created stream")
res.setHeader("Access-Control-Allow-Origin", "*")
res.setHeader("Content-Type", "application/pdf");
res.setHeader("Content-Disposition", "inline; filename=document.pdf");
res.writeHead(response.statusCode)
stream.pipe(res)
console.log("Sent stream to response")
console.log("***********************************")
}
})