繁体   English   中英

React/Express:POST 错误 413:有效负载太大(Bodyparser 不起作用)

[英]React/Express: POST error 413: Payload too large (Bodyparser does not work)

我已经尝试了一切,但这似乎无法解决。 我已经浏览了 stackoverflow 上的每一个提议的解决方案,并浏览了 3 个谷歌页面。

我尝试过的事情

  1. 在 bodyParser.json 中添加了extended: true/false
  2. 使用 bodyParser.urlencoder()
  3. 按照本教程切换并使用 multer 扩展,但一直出现path not found错误。

有人请帮忙

反应 handlePrinting 功能:

async function handlePrinting (file) {
    const raw = file.getFileEncodeBase64String()
    const destination = 'printer'
    const key = file.file.lastModified
    var data = {
      raw: raw,
      pageRanges: pageRanges,
      sides: sides,
      copies: copies,
      destination: destination,
      key: key
    }

    await axios
      .post('/api/print/submit', data)
      .then(res => {
        console.log(res)
      })
      .catch(err => {
        console.log(err)
    })
  }

表达:

router.use(bodyParser.json({
  parameterLimit: 100000,
  limit: '50mb'
}))

router.post('/submit', (req, res) => {
  const data = {
    raw: req.body.raw,
    pageRanges: req.body.pageRanges,
    sides: req.body.sides,
    copies: req.body.copies,
    destination: req.body.destination,
    key: req.body.key,
  }

  Print.create(data, (error, post) => {
    if (error) {
      console.log(`Printing submit error: ${error}`)
      return res.sendStatus(BAD_REQUEST)
    }

    printFunction(data.raw, data.copies, data.sides, data.pageRanges, data.destination)
    return res.status(OK).send(post)
  })
})

我不确定这是否有帮助,您是否尝试过使用压缩?

https://www.npmjs.com/package/compression

便于使用

进口

const compression = require('compression');

app.use(compression());

另一种方法是不使用正文解析器,我通常不使用。

app.use(express.json());

然后发送

return res.status(200).json({data:data});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM