http POST响应后,在将标头发送到客户端后无法设置标头

问题描述 投票:0回答:1

首先,我为打字错误道歉,我是巴西人

我访问了下面的问题,但这并没有帮助我解决问题

ERR_HTTP_HEADERS_SENT: Cannot set headers after they are sent to the client

我有一个从路由localhost:4000/returnvalues调用的方法在第一个请求上,它按预期工作

但是在下一个中,它返回以下错误

_http_outgoing.js:526
throw new ERR_HTTP_HEADERS_SENT('set'); ^

Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client

我的代码

module.exports = app => {

const formidable = require('formidable')
const path = require('path')
const folder = path.join("C:/Users/Rafael/Desktop", 'files')
const fs = require('fs')
var form = new formidable.IncomingForm({
    uploadDir: folder,
    keepExtensions: true
})

const returnvalues = async (req, res) => {
    form.parse(req, (_, fields, files) => {
        app.api.readFile.readFiles(files.Teste.path).then(values => {
            res.status(200).send(values)
           })
       })
   }

  return { returnvalues }
}

我尝试使用不成功

return res.status(200).send(values)

此方法返回一个从Excel电子表格中读取的对象

error from the servermy code

javascript node.js express fs formidable
1个回答
0
投票
我遇到了与您相同的错误。如果您输入表单变量

var form = new formidable.IncomingForm({ uploadDir: folder, keepExtensions: true })

returnvalues函数内部,它应该可以工作。
© www.soinside.com 2019 - 2024. All rights reserved.