使用身体分析器来传递zip文件
我有节点应用程序,它使用快递,在我需要通过邮政邮编 (例如从邮递员到节点服务器)发送的应用程序,目前我使用身体分析器像下面,但我不知道这是否好吗?
app.use(bodyParser.urlencoded({extended: false})); app.use(bodyParser.json()); app.use(bodyParser.text({ type: 'application/text-enriched', limit: '10mb' }));
顺便说一句这是工作,但我想知道如果我使用它的权利…
bodyParse.text()
是用于string
types的主体。 从文档:
bodyParser.text(选项)
返回将所有主体parsing为string的中间件…
因为你正在上传二进制数据(例如zip文件),所以使用bodyParser.text()
将你的缓冲区转换为utf-8
string 。 所以你会失去一些二进制文件的数据和压缩文件可能是不可读的。
对于二进制文件,使用bodyParser.raw()
,它将给你req.body
一个缓冲区,你可以安全地保存在一个文件的缓冲区。
app.use(bodyParser.raw({ type: 'application/octet-stream', limit: '10mb' }));
对于file upload,你应该看看multer
,它适用于multipart/form-data
内容types。