我一般是节点和编程,我一直在努力解决这个问题......
我想接受 https 响应,使用 graphicsmagick 调整大小并将其发送到我的亚马逊 S3 存储桶。
看来 https res 是一个 IncomingMessage 对象(我找不到任何关于它的信息),而 graphicsmagick 的标准输出是一个套接字。
奇怪的是,我可以使用管道并将它们发送到具有本地路径的 writeStream,并且 res 和 stdout 都创建了一个很好的新调整大小的图像。
我什至可以将 res 发送到 S3(使用 knox)并且它可以工作。
但标准输出不想去 S3 :-/
任何帮助,将不胜感激!
https.get(JSON.parse(queryResponse).data.url,function(res){
var headers = {
'Content-Length': res.headers['content-length']
, 'Content-Type': res.headers['content-type']
}
graphicsmagick(res)
.resize('50','50')
.stream(function (err, stdout, stderr) {
req = S3Client.putStream(stdout,'new_resized.jpg', headers, function(err, res){
})
req.end()
})
})
knox - 用于连接到 S3 - https://github.com/LearnBoost/knox graphicsmagick - 用于图像处理 - https://github.com/aheckmann/gm