节点-从React发送的图像为空{}

时间:2018-11-27 11:30:02

标签: node.js reactjs forms upload

我在React.js中输入以下内容:

<input onChange={this.handleChange("file")} type="file" name="fileToUpload" id="fileToUpload"/>

然后,我的onSubmit方法方法向节点执行发布请求,如下所示:

onSubmit(state) {
    let image = document.getElementById("fileToUpload").files[0];
    fetch('http://localhost:4000/upload', {
        method: 'POST',
        headers: {
            // 'Access-Control-Allow-Credentials': 'true',
            'Accept': 'application/json',
            'Content-Type': 'application/json',
        },
        body: JSON.stringify({
            'name': this.state.name,
            'meta' : this.state.metaData,
            'id': this.state.buildingId,
            'location': this.state.location,
            'image': image
        })
    })
}

现在在节点中,如果我在express req.body.image中注销。我刚得到一个空的{}。

文件上传过程出了什么问题?

谢谢

更新:

我有这些身体解析器:

app.use( bodyParser.json({limit: '50mb'}) );
app.use(bodyParser.urlencoded({
    limit: '50mb',
    extended: true,
    parameterLimit:50000
}));

我也有:

app.post('/upload', function (req, res, next) {

        console.log('sent');
        console.log(req.body);
    })

我现在收到错误:

SyntaxError: Unexpected token - in JSON at position 0

0 个答案:

没有答案