0

我想为节点后端创建文件上传服务

这些文件可以根据配置上传到 amazon s3 存储桶或本地服务器。

据我了解

我可以使用 s3-upload 流上传到 s3 存储桶。我有以下问题

  1. 在 npm mpdule 页面上的示例中

    var read = fs.createReadStream('./path/to/file.ext');

流是使用本地文件创建的。如何从客户端读取输入流并将其通过管道传输到 s3。我可以为此使用强大的吗?

文件大小可能非常大。上传服务应该准备好服务多个请求。指向我的用例的任何文档或指南将非常有帮助

4

3 回答 3

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 获得的文件是您的可读流。

希望它有所帮助。

于 2016-03-27T03:07:24.340 回答
0

那里有适用于 AWS 的 node.js SDK,它已经有上传到 S3 的方法。 http://aws.amazon.com/sdk-for-node-js/

于 2014-08-28T16:13:54.723 回答
0

您可以使用适用于S3的AWS JavaScript开发工具包。有一些使用 Node.js的示例。

于 2014-08-28T10:35:57.150 回答