📜  Express.js express.raw()函数(1)

📅  最后修改于: 2023-12-03 15:30:41.433000             🧑  作者: Mango

Express.js express.raw()函数

在Express.js中,express.raw()函数用于创建中间件,用于处理Content-Type:application/octet-stream类型的请求体,通常用于处理二进制数据。

语法
express.raw([options])

options参数是一个可选的对象,其属性和值如下:

  • inflate:Boolean类型,表示是否自动解压缩请求体。默认值为true。
  • limit:Mixed类型,表示请求体大小的限制。可以是一个数字表示字节数,或一个字符串形式的表示。如果请求体超过限制的大小,则返回413 "Payload Too Large"响应。
示例
const express = require('express')

const app = express()

app.use(express.raw({ limit: '10mb', inflate: true }))
app.post('/binary', (req, res) => {
  console.log(req.body) // 输出二进制数据
  res.send('Binary data received!')
})

在上面的示例中,我们使用express.raw()中间件处理二进制数据的请求体。limit属性设置为'10mb',表示请求体最大可以是10MB。如果请求体超出了这个限制,则Express.js将自动返回一个413响应。在这个例子中,我们在POST请求中的路由中将接收到的数据输出,并发送一个响应消息。

结论

使用express.raw()中间件能够轻松地处理Content-Type:application/octet-stream类型的请求体,它支持自动解压缩请求体并限制请求体的大小。希望在将来的项目中,能帮助到您处理二进制数据的问题。