javascript - 如何存储和返回来自 HTTP 响应的数据?
问题描述
我正在使用请求模块向 API 发出请求,该 API 向我发送一个 Base64 编码的响应,该响应是一个文件。
app.get("/report", async(request, response) => {
const newRequest = new mdl.Request
const newDatasources = new mdl.Datasources
const newVariables = new mdl.VariablesType
const VariablesArray = []
const myArray = []
newRequest.Uri = "http://127.0.0.1:8080/listing.docx"
newRequest.Async = false
newRequest.OutputFormat = "html"
newVariables.Name = "Var1"
newVariables.Type = "text"
newVariables.Value = "Hello World!"
VariablesArray.push(newVariables)
newDatasources.Name = "JSON"
newDatasources.Type = "JSON"
newDatasources.Data = "ewogICAgImxpc3RQcmljZSI6ICIkODc5LDAwMCIsCiAAgICAgInB1cmNoQ29udHJhY3REYXRlIjogIiIsCiAgICAgICAgImVuZGluZ0RhdGUiOiAiIgogICAgfQp9"
newDatasources.Variables = VariablesArray
myArray.push(newDatasources)
newRequest.Datasources = myArray
const req_data = JSON.stringify(newRequest)
const options = {
hostname: 'report.sample.com',
port: 80,
path: '/v1/reports',
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Content-Length': req_data.length
}
}
const req = http.request(options, (error, resp, body) => {
console.log(`statusCode: ${res.statusCode}`)
resp.on('data', (d) => {
process.stdout.write(d)
})
})
resp.on('error', (error) => {
console.error(error)
})
req.write(req_data)
req.end()
response.send("done")
});
这会在我的终端上打印出接收到的数据,但是我怎样才能将它存储在一个变量中并将其作为对请求的响应返回呢?只是我正在做的一些背景。我正在构建一个报告请求,然后通过该请求将其发送到 api,该请求以编码字符串的形式返回我的数据
解决方案
很难准确地说出您使用什么来运行它。
利用
res.status(200).send({success: true, data: data})
如果你使用快递。
推荐阅读
- javascript - 用 JS 创建可填充的 PDF
- python - 将大型数据库表读入 Dask 数据框
- python - PyQt6:在高度缩小后重绘QTextEdit的底部边框?
- masstransit - MassTransit 消费者未确认某些消息
- javascript - wp php中的linkedin应用按钮在控制台中返回错误
- python-3.x - Visual Studio Code 2019 python pandas最大记录?
- openlayers - OpenLayers 中的高性能线梯度
- java - Java方法多次抛出异常
- laravel - 辛烷值:centos 8 上的重新加载不反映更改
- blueprism - 蓝棱镜中的等待条件