我想以二进制形式将图像发布到我的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
});