Nodejs fileupload,multer vs express-fileupload,使用哪个?

Nodejs fileupload, multer vs express-fileupload, which to use?

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

在这种情况下选择图书馆时,您必须考虑以下几点。

首先个人信仰:

  • 所有这些东西都执行相同的任务,所以这完全取决于偏好,所以无论你喜欢做什么,都不要为此强调自己,因为所有这些都是基于意见的。

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

  • 我推荐 3 个库,它们是 MulterFormidableBusboy

那么在 Multer、Formidable 和 Busboy 之间选择哪个

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

  • Multer 是您的图书馆之选

2。如果要将文件存入磁盘:

-强大的是你的go libray

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

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

Base64 还是 Multipart?

Base64:

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

多部分:

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