node.js - 无法使用 chai 上传文件
问题描述
我正在尝试使用 Chai 测试文件上传。
我有这个html
<form method="POST" enctype="multipart/form-data" action="/file/upload">
<input id="file" type="file" name="filename">
<input id ="submit"type="submit" value="upload">
</form>
而这个API
let fileStorage = require('../model/FileStorage');
let router = require('express').Router();
router.post('/upload', function(req, res){
let file = req.files.filename;
let filename = file.name;
file.mv('./upload/'+filename, function(err){
if(err) {
res.status(500).end("500: Internal server error");}
else {//insert in db
fileStorage.create({name: filename})
.then(doc => res.send({message:"a "+doc}).status(200).end());
}
});
当我通过 HTML 发送要上传的文件时,此代码有效。
当我去测试时出现问题,因为测试用例返回状态500并且测试失败。
这是测试用例
it('dovrebbe UPPARE il file', function(done){
chai.request(server)
.post('/file/upload')
.field('customKey', 'customValue')
.attach('files', '/Users/francescovicidomini/git/ExampleNodeJS/server/upload/upload.txt', 'upload.txt')
.end(function(err, res){
res.should.have.status(200);
done();
});
解决方案
推荐阅读
- python - 将图像转换为十进制值 [Python]
- android - 如何将此 JSON 放入房间 sql
- angular - Angular 5,同一页面上的两个组件
- java - 为闭包委托实现 methodMissing()
- asp.net - 如何将 ID 传递给控制器并使用它在模式上显示数据
- angular - 如何从Angular(5+)Renderer2中的所有子项中清除元素?
- python - 使用 python simplesalesforce 包的 Salesforce 批量 api
- flask - 使用烧瓶restful编组列表中的项目
- php - 从令牌中获取用户数据
- javascript - 没有将“exportAs”设置为“ngForm”的指令