Nodejs fileupload、multer 与 express-fileupload,使用哪个?

Vis*_*ore 4 file-upload node.js multer

我应该使用哪个库?唯一的目的是上传文件。在处理大型请求时,我想在性能和可扩展性方面使用最佳库。如果我的项目扩大规模,我最终将使用 CDN 服务。

Nts*_*ane 5

以下是在这种情况下选择图书馆时必须考虑的一些事项。

首先个人信念:

  • 所有这些东西都执行相同的任务,因此这一切都取决于您的喜好,因此无论您喜欢与之合作,都不要为此感到压力,因为这一切都是基于意见的。

但是要回答您的问题:您应该选择哪个?

  • 我推荐 3 个库,分别是MulterFormidableBusboy

那么在 Multer、Formidable 和 Busboy 之间进行选择

1. 如果要将文件存储在内存或磁盘中:

  • Multer 是你的图书馆

2. 如果要将文件存储在磁盘中:

- 强大的是你的去图书馆

3. 对于大批量生产级解决方案:

  • 当您遇到高容量情况并希望从您的服务器获得最大可靠性时,最好的选择是根本不在 Node.js 服务器上存储中间文件。相反,您希望在收到文件后立即将其推送到单独的文件服务器。文件服务器可以是 AWS S3 等云存储服务,也可以是支持 BLOB 的数据库。

Base64 还是 Multipart?

Base64:

  • Base64 是一种将二进制数据编码为 ASCII 字符的方法
  • 将数据格式化为基数 64 表示。
  • 如果您上传的文件是大文件上传,那么我可以肯定地说不要使用 Base64,因为它会转换整个数据并将其发布到服务器。

多部分:

  • 这更快
  • Multipart 是一种以字节为单位的部分形式将数据上传到服务器的方式。多部分/表单数据虽然应用于表单,因此您可以以多部分表单发送所有内容,也包括“常规”数据。