Nodejs fileupload,multer vs express-fileupload,使用哪个?
Nodejs fileupload, multer vs express-fileupload, which to use?
我应该使用哪个库?唯一的目的是上传文件。就大型请求而言,我想在性能和可扩展性方面使用最佳库。如果我的项目规模扩大,我最终会使用 CDN 服务。
在这种情况下选择图书馆时,您必须考虑以下几点。
首先个人信仰:
- 所有这些东西都执行相同的任务,所以这完全取决于偏好,所以无论你喜欢做什么,都不要为此强调自己,因为所有这些都是基于意见的。
但是回答你的问题:你应该选择哪个?
- 我推荐 3 个库,它们是 Multer、Formidable 和 Busboy
那么在 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 虽然应用于表单,因此您可以以多部分表单发送所有内容,也包括“常规”数据。
我应该使用哪个库?唯一的目的是上传文件。就大型请求而言,我想在性能和可扩展性方面使用最佳库。如果我的项目规模扩大,我最终会使用 CDN 服务。
在这种情况下选择图书馆时,您必须考虑以下几点。
首先个人信仰:
- 所有这些东西都执行相同的任务,所以这完全取决于偏好,所以无论你喜欢做什么,都不要为此强调自己,因为所有这些都是基于意见的。
但是回答你的问题:你应该选择哪个?
- 我推荐 3 个库,它们是 Multer、Formidable 和 Busboy
那么在 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 虽然应用于表单,因此您可以以多部分表单发送所有内容,也包括“常规”数据。