Chai http attach设置内容类型multipart-formdata

时间:2017-09-13 18:17:39

标签: node.js tdd chai

我想将文件作为二进制文件传递给我的一个函数,我想用chai http编写测试,下面是代码:

              chai.request('http://localhost:8085')
                .post('/myAPI/' + req.params.id + '/logo')
                .attach('image', fs.readFileSync(__dirname + '/resources/IMG_86425.jpg'), 'IMG_86425.jpg')
                .set('Content-Type','image/jpeg')
                .end((err, res) => {
                    should.equal(err, null);
                    res.status.should.equal(200);
                    res.should.be.json;
                    done();
                });

问题是attach()本质上似乎将内容类型更新为多部分表单数据,尽管我试图用image / jpeg来过度使用它。 我们可以做些什么来覆盖attach()的这种行为,还是有其他方法可以将二进制数据发布到我的函数中。

由于

1 个答案:

答案 0 :(得分:2)

attach适用于多部分表单数据,用于将文件作为二进制文件发送:

.send(fs.readFileSync(__dirname + '/resources/IMG_86425.jpg')) 
                .set('Content-Type','image/jpeg')

解决问题......