美文网首页
request传输文件设置headers

request传输文件设置headers

作者: ThemisHoo | 来源:发表于2019-11-07 21:38 被阅读0次

今日第三坑

request传输文件,无法设置请求头

router.post('/doubleVideoResult', (req, res) => {
    const busboy = new Busboy({ headers: req.headers });
    busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
        file.on('data', function(data) {

        });
    });
  
    const sreq = request.post( `${CONFIG.api.fqsdApi}/xxxxxx`,{
        'Content-Type': 'multipart/form-data'
        /*
              在此处设置token,无效
        **/
        'token': 'testtoken'
    }, (err, res, body) => {});
    req.pipe(busboy);
    req.pipe(sreq);  /*  此处打印的sreq中headers中并没有token */
    sreq.pipe(res);  /*  原因在这里,把前端的res放到了请求中,传的是前端的headers*/
});

因为sreq.pipe(res)中res为前端请求node的res,所以将前端设置的headers传了过去

uploadFileToxwd = ( imgFile) => {
        let formData = new FormData();
        formData.append('file', imgFile, imgFile.name);

        this.request.post('/proxy/doubleVideoResult', formData, {
          /*
              这里设置的headers才是node传给API的headers
          **/
            headers: {
                'Content-Type': 'multipart/form-data',
                'token': 'testtoken'
            },
        }).then((res) => { }).catch((err) => {});
    };

下班!!!!!!

相关文章

网友评论

      本文标题:request传输文件设置headers

      本文链接:https://www.haomeiwen.com/subject/fqrbbctx.html