http.get('http://path/to/image.jpg', function (res) {
var img = '';
res.on('data', function (buff) {
img += buff;
});
res.on('end', function() {
var data = querystring.stringify({
image: img.toString('base64'),
type: 'base64'
});
var opts = {
host: 'api.imgur.com',
path: '/3/image',
method: 'POST',
headers: {
'Authorization': 'Client-ID myId',
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': data.length
}
};
var req = https.request(opts, function (res) {
res.on('data', function (buff) {
console.log(buff.toString());
});
});
req.end(data);
});
});
img
은 URL에서 다운로드 한 문자열입니다.Imgur에 base64 이미지 게시
querystring.js:114
return encodeURIComponent(str);
^
URIError: URI malformed
가 어떻게 제대로 Imgur에 포스트 데이터를 제출하나요 : 내가지고있어 그것을 실행하면? 귀하의 img
이진 데이터의 문자열이 될 것이며, 올바르게 base64 인코딩되지 않습니다 :
: 또 다른 해결책은 이미지를 다운로드 할 때, 대신 문자열을 연결의 대신 배열에있는 모든 청크를 수집하고
Buffer.concat
와 그에서 버퍼를 확인하는 것입니다 'img'을 읽는 방법입니다. 어떤 종류의 객체가'img'입니까? 코드를 게시하십시오. –@LinusGThiel 안녕하세요, 저는 방금 어떻게 img를 얻는 지 보여주는 글을 업데이트했습니다. – Zhianc