我想以二进制形式将图像发布到我的Express应用程序中。

我假设它应该通过req.body对象来实现,但是是否需要某种形式的中间件才能处理二进制数据?

当我从邮递员以二进制形式发送图像并尝试登录req.body时,该对象为空。

我正在将express-generator用作body-parser随附的锅炉板,如下所示:

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

我看了Multer,但认为这仅适用于多部分数据

还看了busboy,但不知道是否可以处理二进制数据。

我是否正确,过帐数据仍将通过req.body传递?
我需要什么中间件来处理二进制数据?

谢谢

最佳答案

我最终使用的方法是:

const multer  = require('multer')
const storage = multer.memoryStorage()
const upload = multer({ storage: storage })

router.post('/upload', upload.single('image'), function(req, res, next) {

  const image = req.file.buffer

});

08-05 23:10
查看更多