服务器解析form中文件,如何在节点服务器端解析formdata?

本文探讨了在使用Node.js、Express和axios实现文件上传功能时遇到的问题,前端如何正确构造请求并将文件发送到后端,以及后端如何解析并处理来自axios的FormData。通过解决服务器日志中只接收空对象的问题,揭示了FormData正确解析和处理的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我正在使用nodejs,REACT,express,axios。我想制作上传功能,但我不能。当我上传文件时,服务器无法解析上传的文件(仅显示{} log)。

以下是我的前端代码

当用户单击表单元素上的UPLOAD按钮时,调用'handleSubmit'函数,'handleSubmit'调用'fileUploadRequest'函数。

在'fileUploadRequest'功能中,一切都很好。我可以看到附件的信息。

export function fileUploadRequest(username, uploadFile, uploadFileName) {

return (dispatch) => {

dispatch(fileUpload());

let formData = new FormData();

formData.append('fileName', uploadFileName);

formData.append('fileHandler', uploadFile);

return axios.post('/upload/upload', {formData})

.then((response) => {

dispatch(fileUploadSuccess());

}).catch((error) => {

dispatch(fileUploadFailure());

});

};

}

下面是后端代码。

router.post('/upload', (req, res) => {

console.log(req.body.);

var form = new formidable.IncomingForm();

form.parse(req, (err, fields, files) => {

console.log('parse');

console.log(fields);

console.log(files);

});

});

在req.body日志中,我只能看到'{formData:{}}'日志。

'fields'和'files'在日志上都是'{}'

如何解析服务器上的附件?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值