2016-06-04 4 views
0

WMS에서 mapnik으로 이미지를로드하려고하는데 오류가 발생했습니다. Unhandled rejection Error: image_reader: can't determine type from input data. (즉, 시작시 'PNG'을 가지고) 코드는 벗었, 내가 요청을 수동으로 실행했습니다Mapnik에서 이미지 형식을 확인할 수 없습니다.

const request = require('request-promise'); 
const mapnik = require('mapnik'); 

request(`${wmsUrl}/GetMap`, { 
    qs: { 
    bbox: '-90,32,-89,33', 
    format: 'image/png', 
    height: 200, 
    layers: '5', 
    request: 'GetMap', 
    'srs(crs)': 'EPSG:4326, 
    styles: 'default', 
    version: '1.1', 
    width: 200, 
    }, 
}).then(res => { 
    const buffer = new Buffer(res); 
    return mapnik.Image.fromBytesSync(buffer); // This is the error line 
}); 

이며 작동하고, 내가 버퍼를 검사했는데이 좋아 보인다. 나는 그 밖에 무엇을 시도해야할지 모르겠습니다. 다른 사람이 비슷한 발생하는 경우

답변

0

는 문제가 request (또는이 경우 request-promise에)는 응답 본문은 문자열과 암묵적에 toString을 수행해야한다는 가정이다. https://github.com/request/request#requestoptions-callback

: 해결하기 위해, 요청이

request(url, { 
    qs: { ... }, 
    encoding: null, 
}).then({ ... }); 

여기에서 자세한 내용을 참조해야한다