I just copied the sample code in read me but got this error:
TypeError: this.checkFile(...).notEmpty(...).size is not a function
at Object.<anonymous> (/Applications/MAMP/htdocs/nia/test.js:21:45)
at next (native)
at Object.dispatch (/Applications/MAMP/htdocs/nia/node_modules/koa-router/lib/router.js:331:14)
at next (native)
at onFulfilled (/Applications/MAMP/htdocs/nia/node_modules/koa/node_modules/co/index.js:65:19)
at /Applications/MAMP/htdocs/nia/node_modules/koa/node_modules/co/index.js:54:5
at Object.co (/Applications/MAMP/htdocs/nia/node_modules/koa/node_modules/co/index.js:50:10)
at Object.toPromise (/Applications/MAMP/htdocs/nia/node_modules/koa/node_modules/co/index.js:118:63)
at next (/Applications/MAMP/htdocs/nia/node_modules/koa/node_modules/co/index.js:99:29)
at onFulfilled (/Applications/MAMP/htdocs/nia/node_modules/koa/node_modules/co/index.js:69:7)
Am I missing something? Here is my final code:
'use strict';
var koa = require('koa');
var app = koa();
app.use(require('koa-body')());
app.use(require('koa-validate')());
var router = require('koa-router')();
router.get('/upload', function *(){
this.body = '<form action="/upload" enctype="multipart/form-data" method="post">'+
'<input type="text" name="title"><br>'+
'<input type="file" name="file" ><br>'+
'<input type="submit" value="Upload">'+
'</form>'
} );
router.post('/upload', function * () {
//optional() means this param may not in the params.
yield this.checkFile('file').notEmpty().size(0,300*1024,'file too large').move("/static/icon/" , function*(file,context){
//resize image
});
if (this.errors) {
this.body = this.errors;
return;
}
this.body = this.request.body;
});
app
.use(router.routes())
//.use(router.allowedMethods());
app.listen(3000);
I just copied the sample code in read me but got this error:
Am I missing something? Here is my final code: