Mocha / Superagent:无法上传文件

时间:2018-02-23 15:34:39

标签: node.js mocha superagent

我正在尝试使用Mocha / Superagent编写测试来上传文件。当这个API被客户端命中时,它完美地运行。当我运行测试时,它失败了500响应代码。我只是想不通是什么问题。这是我正在使用的代码。

var request = require('supertest')("http://localhost:8081");
var app = require('../app.js');
var chai = require('chai');
var expect = chai.expect;
var should = chai.should();
var filePath = '/test/myFile.jpg';//Folder where the file is located

var customHeaders = {
    "authToken": "Whatever"
};

describe('POST /files/upload/', function() {    
    it('should upload a file', function(done) {
        request
            .post('/files/upload/')
            .set(customHeaders)
            .field('UserName', 'ABC')
            .attach('image', filePath)
            .expect(200)
            .end(function(err, res) {
                console.log(res);
                console.log(err);
                expect(res.body.fileId).to.be.above(0);
                done();
            });
    });
});

有没有人有使用Mocha和Superagent上传文件的工作示例?

1 个答案:

答案 0 :(得分:0)

我也有一个与你的问题很相似的问题。让我解释一下。

此部分 filePath 可能是问题所在。

  

var filePath =' path / to / file.png'

我把它改成

之后就没有运气了
  

var filePath = require(' path / to / file.png')

然而,来自尝试require(路径),它让我深入了解,所以我可以在下面添加如下附件。

  

.attach(' htmlInputTagName',' /home/hary/Documents/web-dashboard/public/img/logo.png')

让我们看看您是否在服务器端req.filesreq.body中获得了某些内容。

编辑: 我刚刚意识到我的解决方案专用于本地服务器。如果要在其他服务器上运行它,我的解决方案无效。