node.js отправляет данные формы на другой сервер - PullRequest
0 голосов
/ 03 декабря 2018

Я получил файл из внешнего интерфейса без проблем, но затем, когда я пытаюсь отправить его на другой сервер, я получаю «Слишком большой объект запроса 413» в лучшем случае.

У кого-нибудь есть идеи, что я делаю не так?Я также пытался с 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")
        });


}
...