의 HTTP 요청을 통해 수신 된 파일에 이미지 쓰기 확실한 것은 분명하지 않지만 문제의 요지는 맵box 호출에서 PNG를 수신 의도로 작성한 것입니다. 파일 시스템에 저장하고 클라이언트에 제공합니다. 성공적으로 전화를 중계하고 원시 데이터 응답을 수신하고 파일을 작성했습니다. 문제는 필자가 어떤 경로를 취했는지에 상관없이 파일이 잘린 상태로 끝나고 피사체를 치우는 답변을 모두 소진 한 것입니다. 원시 응답을 로그에 버렸습니다. 강력하지만, 작성한 모든 파일은 읽을 수없는 데이터의 상당 부분을 차지하는 경향이 있습니다.노드
다음은 파일 작성을위한 코드입니다. 몇 번 실패하고 거의 성공하지 못했던 마지막 시도로이 버퍼 이동을 시도했습니다. 어떤 도움이라도 대단히 감사하겠습니다.
module.exports = function(req, res, cb) {
var cartography = function() {
return https.get({
hostname: 'api.mapbox.com',
path: '/v4/mapbox.wheatpaste/' + req.body[0] + ',' + req.body[1] + ',6/750x350.png?access_token=' + process.env.MAPBOX_API
}, function(res) {
var body = '';
res.on('data', function(chunk) {
body += chunk;
});
res.on('end', function() {
var mapPath = 'map' + req.body[0] + req.body[1] + '.png';
var map = new Buffer(body, 'base64');
fs.writeFile(__dirname + '/client/images/maps/' + mapPath, map, 'base64', function(err) {
if (err) throw err;
cb(mapPath);
})
})
});
};
cartography();
};
내가 잘못보고 "고객에게 제공"이라고 말했습니다. 이 경우에는 파일을 쓰는 것이 더 정확합니다. 반환 된 응답은 생성 된 파일의 이름입니다. –