【发布时间】:2017-09-28 02:23:05
【问题描述】:
我正在使用 nodejs、REACT、express、axios。我想做上传功能,但我做不到。当我上传文件时,服务器无法解析上传的文件(仅显示 {} 日志)。
下面是我的前端代码
当用户点击表单元素上的上传按钮时,'handleSubmit'函数被调用,'handleSubmit'调用'fileUploadRequest'函数。
在“fileUploadRequest”函数中,一切正常。我可以看到附件的信息。
<form onSubmit={this.handleSubmit} encType='multipart/form-data'>
<input type="file" onChange={this.handleChange}/>
<input type="submit" value="UPLOAD"/>
</form>
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: {} }' 日志。
“字段”和“文件”在日志中都是“{}”
如何解析服务器上的附件?
【问题讨论】: