我是诺德世界的新手。
UseCase :
有一个简单的场景,将XLS文件上传到角前端,在Node上处理它们,进行一些操作,然后将JSON保存到Mongo。
在从角接收文件之后,我搜索了在Node上解析/处理文件的最佳方法,然后看到了关于这些著名节点模块-- multer、multiparty和connect-multiparty的文章。
每一篇文章都解释了如何使用相应的模块,却找不到任何一个告诉在时使用哪个模块。
我发现multer主要用于在磁盘存储中保存文件时使用,这不足以满足我的用例。
那么我应该忽略multer还是实际使用它呢?
我什么时候应该实际使用multiparty和connect-multiparty?
发布于 2016-11-27 15:51:10
这个问题列出了一些选项:
有一些模块可以直接解析多种形式的数据,并在此基础上构建表达中间件。
直接解析的前三大模块是节点强大模块(3376)、勤杂工模块(814)、节点多党制模块(557)。
最顶级的中间件是multer (构建在2515颗星的busboy上)。连接-多方有一个提示,建议不要使用它。接线员已经四年没有更新了。
基于此,我建议节点--如果您想要Express中间件的话--令人生畏的busboy或multer。
还请注意,穆特有一个MemoryStorage内存存储引擎。
发布于 2020-06-11 11:11:08
您可以将可用的文件处理库分为三类:它们是独立的还是Express.js特定的,它们是存储中间文件还是使用流,如果中间文件存储在临时目录中还是存储在内存中。
像busboy这样的独立解析器可以与Express.js一起使用,也可以不使用。另一方面,Express.js中间件通过添加req.files来增加请求对象,这样可以方便地访问文件。有些实现将中间文件存储在临时目录或内存中。另一些则允许您访问上传的文件内容流,而不会破坏服务器的内存或硬盘。
根据你的情况,问这些问题,以确定哪一个库最适合你。
然后使用此决策树从最常用的文件上载处理库列表中选择一个。决策树来自于本文:

https://stackoverflow.com/questions/40099016
复制相似问题