0
我有興趣將映像數據(存儲在Amazon S3上)發佈到REST端點。圖像數據看起來是返回緩衝區:Node.js中的POST緩衝區數據
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