将文件从Api服务器发送到NodeJ到浏览器

时间:2017-08-01 11:45:19

标签: node.js

我有一个API服务器和NodeJs服务器,当请求文件时,NodeJ将请求重定向到API服务器

API服务器将文件作为原始数据发送到NodeJs 和Nodejs将文件重定向到浏览器

但是当我使用wire shark检查网络数据时,在浏览器中收到的数据包不是来自API Server的原始数据(在文本文件的情况下工作,但在图像,视频,pdf,doc等中没有)

router.get('/GetCaseSupportDocument', function (req, res) {

    var MyJsonData = {
         DocId:parseInt(req.query.DocId) || 0
    };

    request({
        url: 'http://somedomain/someurl', //URL to hit
        method: 'POST',
        json: MyJsonData

    }, function (error, response, body) {
        if (error) {
              res.status(200).send('Failed');
        } else {
              res.status(200).send(body);
            }
    })

});

有人能说出为什么NodeJ与浏览器之间会发生变化吗? 对于这种类型的传输有没有更好的解决方案?

找到解决方案后更新。这工作

    router.get('/GetCaseSupportDocument', function (req, res) {

        var MyJsonData = {
           DocId:parseInt(req.query.DocId) || 0

        };

        request({
            url: Url.CaseService + 'GetCaseSupportDocument', //URL to hit
            method: 'POST',
            json: MyJsonData
        }).pipe(res);

})

1 个答案:

答案 0 :(得分:1)

您可以尝试使用简单的代理:

request

有关代理的更多详细信息,请参阅function onEdit(e) { if(e.range.getA1Notation() == "D2") { var sCounter = e.source.getRange("E2"); var counter = sCounter.getValue(); if(counter === 0) { counter = 1; } else { counter ++; } sCounter.setValue(counter); } } 文档https://github.com/request/request