0
Я заинтересован в отправке данных изображения (хранящихся на Amazon S3) в конечную точку REST. Данные изображения, кажется, возвращается в качестве буфера:Данные буфера POST в Node.js
var request = require('request');
var s3 = new AWS.S3();
s3.getObject({Bucket: bucket, Key: key}, function(err, data) {
console.log(data.Body);
// <Buffer 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 ...
Когда я пытаюсь загрузить буфер, используя библиотеку запроса:
request.post('https://example.com', {'upload_file': data.Body});
Он взрывается, так как он, по-видимому пытается URI кодировать:
/node_modules/request/node_modules/qs/lib/stringify.js:40
return [encodeURIComponent(prefix) + '=' + encodeURIComponent(obj)];
^
URIError: URI malformed
at encodeURIComponent (native)
at Object.internals.stringify (/node_modules/request/node_modules/qs/lib/stringify.js:40:52)
at Object.module.exports [as stringify] (/node_modules/request/node_modules/qs/lib/stringify.js:93:38)
at Request.form (/node_modules/request/request.js:1320:20)
at Request.init (/node_modules/request/request.js:503:10)
at new Request (/node_modules/request/request.js:272:8)
at request (/node_modules/request/index.js:56:10)
Я не думаю, что это поддерживается модулем запроса. Возможно, вы захотите попробовать отправить его с помощью встроенного модуля http. – igelineau