NodeJs request请求返回图片,接收到的是乱码?

前端的一些坑

Winter

2018-11-05

我的请求如下,最后接口预期返回的会是一张图片:


            request({
              method: "POST",
              url: `${url}`,
            }, (error, response, body) => {
                res.end(body)
            });

但是结果却是如下的乱码:

第94篇《NodeJs request请求返回图片,接收到的是乱码?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

1个回答
Winter 2018.11.05
在请求参数里,和返回加入参数和调用方法说明类型可以解决这个问题。
            request({
              method: "POST",
              headers: {
                'Accept-Encoding': 'gzip, deflate'
              },
              encoding: null,
              url: `${url}`,
            }, (error, response, body) => {
                res.set('Content-Type', 'image/png;');
                res.end(body)
            });

请求头的参数加,阻止request自动转码

headers: { 'Accept-Encoding': 'gzip, deflate' }, encoding: null,

调用方法res.set('Content-Type', 'image/png;');  说明返回内容的类型是图片

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android