我将尝试使用node.js上的knox直接流式传输octet-stream到S3。这个octet-stream是从浏览器上传的XHR文件。我原以为只需将请求流式传输到putStream中即可,但事实并非如此。
以下是我的代码:
var client = knox.createClient({
// AWS credentials here
});
if (req.headers['content-type'].match(/application\/octet-stream/i)) {
var filename = '/'+req.headers['x-file-name'];
client.putStream(req, filename, function(err, res){
// TODO: Catch errors
body = '{"success":"true"}'
res.writeHead(200,
{ 'Content-Type':'text/html'
, 'Content-Length':body.length
})
res.end(body)
});
}
我收到的错误信息:
TypeError: Bad argument
at Object.stat (fs.js:354:11)
at Client.putStream (./lib/knox/client.js:181:6)