是否可以通过分块文件的方式将文件从浏览器流式传输到MongoDB?

时间:2019-01-29 18:40:00

标签: node.js mongodb stream fs

现在,我有一些有效的代码,它可以执行以下操作: 打开浏览器时,您可以输入文件(大小不受限制,适用于3.5Gb文件)。浏览器使用Resumable.js JavaScript库对文件进行分块,然后将其逐块发送到服务器。服务器使用resumable-node.js模块一个接一个地接收每个块,然后将它们临时保存在名为“ / uploads”的文件夹中。当服务器收到所有块时,他将它们全部放在一起以创建完整的文件。

然后,我使用gridfs-stream和mongoose将新添加的文件流式传输到MongoDB数据库。当整个文件都在数据库中时,我删除了保存在“ / uploads”文件夹中的临时文件。

我想知道是否有一种方法可以将文件从浏览器直接流传输到MongoDB,并通过服务器传递,而不必将块和文件临时保存在服务器中。

我已经尝试使用“ multer”功能从POST请求中检索文件。但是,它不能满足我的需求。实际上,如果我上传一个非常大的文件(大于2Gb),则将花费两分钟以上的时间,因此之后会出现超时错误。

0 个答案:

没有答案