【问题标题】:How to Receive Blob Object from Axios in Express.js如何在 Express.js 中从 Axios 接收 Blob 对象
【发布时间】:2019-12-27 13:00:16
【问题描述】:

我正在开发一个 API,它通过 Axios.post 将在 Vue.js 中创建的 Blob 对象发送到 Express.js。

Vue.js

...
const blobObject = new Blob([content]);

axios.post(`http://localhost:3000/post`, blobObject)
    .then(
         (response) => {
              console.log('Successfully Save API')
          },
          (err) => {
              console.error(err)
          }
    )

但是,Blob Object是通过req.body出现的,而undefined是通过req.body.blobObject输出的。

Express.js ...

router.post('/', (req, res, next) => {
    const { blobObject } = req.body;
    console.log(blobObject) // undefined

    console.log(req.body) // Blob Object OK
    // req.body
    // [Object: null prototype] { ...String in Blob Object... }
}

我的代码有什么问题?

【问题讨论】:

  • 请提供req.body的完整数据
  • @cccn 修改了我发给axios的数据,通过req.body注释了数据输出。
  • req.body 是一个对象,您只发送没有对象的 blob。所以,blobObject 对象内部没有 blobObject 属性。

标签: node.js vue.js axios


【解决方案1】:
const blobObject = new Blob([content])
const data = new FormData()
data.append('file', blobObject)

axios.post('http://localhost:3000/post', data)

Related answer.

【讨论】:

  • router.post('/', (req, res, next) => { const { file} = req.body; }
  • 仍在 Express 中,req.body.data 未定义。
猜你喜欢
  • 2019-12-31
  • 2021-09-01
  • 2020-01-16
  • 2016-12-20
  • 2021-04-12
  • 1970-01-01
  • 2022-01-13
  • 2021-08-10
  • 1970-01-01
相关资源
最近更新 更多