为了将照片发送到 node-js,我使用以下代码:
...
request.post({
url: 'https://host.net',
data: {
note: 'Photo',
file: fs.createReadStream('path/to/b101.jpg'),
filename: 't100.jpg',
},
}, function(error, response, body) {
console.log("BODY: " + body);
console.log("RESPONSE: " + JSON.stringify(response) );
});
...
但是我经常发生照片在缓冲区中,没有本地存储,例如:
var photoBuffer = Buffer.from([255,216,255,224,0,16,74,70,73,70,0,1,1,0,0,1,0,1,0,0,255,254,0,59,67,82,69,65,84 ...]);
如何转换 Buffer-to-Stream 并将这个流或只是一个缓冲区发送到服务器?
目前,我什至在心轴之前得到一个空流或一个错误。在空流的情况下,我看到 msj 可能会到达服务器。在响应代码= 200。
也许服务器端也有一些限制?
为了转换
Buffer
成Stream
,有几种方法,一种是使用现成的包,如buffer-to-stream
,第二种是使用原生stream
包。在这里找到了答案