【发布时间】:2019-12-07 03:54:18
【问题描述】:
我正在使用FormData 发送发布请求。但是当我检查节点服务器时,我的body 是blanked 为什么?
我执行以下步骤
let formData = new FormData();
// add one or more of your files in FormData
// again, the original file is located at the `originFileObj` key
formData.append("file", values['Temp_id_card'].fileList[0].originFileObj);
formData.append("Emp No",values['Emp No'].toLowerCase())
formData.append("Remarks",values['Remarks'])
formData.append("UpdatedStatus",values['Status'])
formData.append("id",id)
formData.append("Att Date",attDate)
这样发送数据
export const sendPostRequest1 = (url, data, config = {}) => {
let updatedConfig = {
headers: {Authorization: `Bearer ${getAuthToken()}` || ""},
...config
};
return axios.post(url, data, updatedConfig);
}
当我检查network时,点击它显示数据正在发送
但是在节点服务器上调试时,为什么会显示空体?
节点js代码
var Storage = multer.diskStorage({
destination: function(req, file, callback) {
if(req.user.userId === req.body.userId){
callback(null, "./Images");
}else {
throw new AuthenticationError("Unauthorized User");
}
},
filename: function(req, file, callback) {
callback(null, file.fieldname + "_" + Date.now() + "_" + file.originalname);
}
});
var upload = multer({
storage: Storage
}).array("file", 1); //Field name and max count
router.post('/upload', (req, res) => {
upload(req, res, function(err) {
if (err) {
return res.end("Something went wrong!");
}
return res.end("File uploaded successfully!.");
});
});
当我检查此 if(req.user.userId === req.body.userId){ 行时,req.body 是空对象?
我还添加了这个我的中间件
app.use(bodyParser.json({ limit: "100mb"}));
app.use(bodyParser.urlencoded({ limit: "50mb",extended: false }));
app.use(requestLogger);
app.use(helmet());
【问题讨论】:
-
如果是本地主机是可以的,但是对于远程服务应该改变url。另一个认为 var express = require('express'); var app = express(); .所以 app.post 安装了 router.post
标签: javascript node.js reactjs express multipartform-data