node.js - node.js 将表单数据发送到另一台服务器
问题描述
我从前端收到文件没问题,但是当我尝试将其发送到另一台服务器时,在最好的情况下,我会收到“413 Request Entity Too Large”。
有谁知道我做错了什么?我也尝试过使用 axios ......遇到同样的问题
多谢你们
index.js
app.use((req, res, next) => {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, DELETE, PUT, PATCH, OPTIONS');
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, api_key, Authorization');
res.setHeader('Access-Control-Expose-Headers', 'Content-Range');
next();
});
app.use('/', express.static('public'))
app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({extended: true, limit: '50mb'}));
app.use('/', routes);
const port = config["server.port"];
app.listen(port, () => {
console.log(`Magic happens on port ${port}`);
});
发送数据
exports.uploadFile = async (req, res) => {
const verifyToken = require("../controllers/helpers/backOfficeToken")
const token = await verifyToken.verify(req, res)
if (token === undefined) {
return;
}
var rp = require('request-promise');
const { backEndToken } = await getCreditentials.verify(req, res);
const { userId } = req.body;
const options = (url) => {
return {
method: 'POST',
headers: {
'Authorization': `Bearer ${backEndToken}`
},
formData: {
file: req.files[0].buffer,
},
uri: baseUrl + url + userId
}
};
rp(options("/wallet-service/certificates/"))
.then(function (body) {
console.log(body)
})
.catch(function (err) {
console.log(err);
res.send("an error has occured")
});
}
解决方案
推荐阅读
- reactjs - 尝试导入错误:“事件”未从“d3”导出
- python - 返回两个numpy数组中的哪些元素都等于X值?
- javascript - 有没有什么短的方法可以在不循环的情况下从头到尾对数组进行切片?
- linux - 重新上传:有人可以检查addresssanitizer结果吗?
- stripe-payments - 获取 Stripe 客户的默认付款来源(默认卡)?
- c - 找到无限系列的总和。为什么它发出零数量?
- javascript - Js:最后一个值设置和获取
- javascript - 我对 React Reconciliation 的理解正确吗?
- reactjs - 当 React 上的令牌无效时重定向到登录页面
- quantlib - 如何构建固定利率现金流,每月复利并按季度支付