使用postman请求微信服务器接口,微信服务器直接返回一张图片,貌似是以二进制形式返回的,下面有截图。
现在为了傻瓜化流程,用koa框架去代替postman的过程发送请求,接收到的二进制不知道怎么返回到客户端显示成一个图片了?如果吧接收到的内容打印到控制台显示为如下乱码
ctx.type="image/png"
ctx.status = 200;
先改了响应头,那么接收到的二进制内容是用res.body响应么?还是要使用流?。。。代码如下
"use strict";
var router = require('koa-router')();
var koa = require('koa');
var fs = require('fs');
var app = new koa();
var request = require('request');
var qs = require('querystring');
let options = {
method: 'GET',
url: 'a'
};
let options1 = {
method: 'POST',
url: 'b,
json: true
};
router.get('/', (ctx, next) =>{
ctx.type="image/png"
ctx.status = 200;
request(options, async (err, res, body)=> {
if (err) {
console.log(err)
} else {
access_token = JSON.parse(body).access_token
next()
}
})
});
let a = (ctx,next)=>{
request(option1,(err, res, body) =>{
if (err) {
console.log(err)
} else {
res.body =body
}
})
}
app.use(router.routes());
app.use(a)
app.listen(3001);
试试这样