如果我们希望使用集成的Dropzone UI和REST端点进行更精细的处理,则需要开始使用UI助手添加自定义REST路由和包。
让我们从导入Iron Router和Dropzone开始。
meteor add iron:router meteor add awatson1978:dropzone
并配置在dropzone助手中指定的上载网址路由。
Router.map(function () {
this.route('uploads', {
where: 'server',
action: function () {
var fs = Npm.require('fs');
var path = Npm.require('path');
var self = this;
ROOT_APP_PATH = fs.realpathSync('.');
//dropzone.js将上传的文件存储在/ tmp目录中,我们可以访问该目录
fs.readFile(self.request.files.file.path, function (err, data) {
// 然后将文件写入上载目录
fs.writeFile(ROOT_APP_PATH + "/assets/app/uploads/" +self.request.files.file.name, data, 'binary', function (error, result) {
if(error){
console.error(error);
}
if(result){
console.log('Success! ', result);
}
});
});
}
});
});凉!我们有一个带有时髦UI和可编程REST端点的文件上传器。不幸的是,这不能很好地扩展。