我正在尝试使用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上传文件的工作示例?
答案 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.files
和req.body
中获得了某些内容。
编辑: 我刚刚意识到我的解决方案专用于本地服务器。如果要在其他服务器上运行它,我的解决方案无效。