我想为节点后端创建文件上传服务
根据配置,可以将文件上传到amazon s3存储桶或本地服务器。
据我了解
我可以使用s3-upload stream上传到s3存储桶。我有以下问题
在npm mpdule页面上的示例
var read = fs.createReadStream('。/ path / to / file.ext');
使用本地文件创建流。如何从客户端读取输入流并将其传递给s3。我可以使用强力吗?
文件大小可能非常大。上传服务应该是生产就绪,可以提供多个请求。 指向我的用例的任何文档或指南将非常有帮助
答案 0 :(得分:1)
如果想坚持使用s3-upload-stream,我建议您使用Busboy:
https://www.npmjs.com/package/busboy
busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
// Instead of the events 'data' and 'end' as the show in the documentation
// you can just pipe the file to the upload from s3-upload-stream
file.pipe(upload);
});
我从上面的链接中获取这些代码。您从busboy获得的文件是您可读的流。
希望有所帮助。
答案 1 :(得分:0)
您可以将AWS JavaScript SDK用于S3。使用Node.js有一些examples。
答案 2 :(得分:0)
有可用于AWS的node.js SDK已经有上传到S3的方法。 http://aws.amazon.com/sdk-for-node-js/