我试图让autoform-file工作(https://github.com/yogiben/meteor-autoform-file),但它似乎没有做任何事情。
根据快速入门,我已完成以下工作:
1)使用正确的权限定义了一个集合:
Images = new FS.Collection("images", {
stores: [new FS.Store.FileSystem("images", {path: "~/meteor_uploads"})]
});
Images.allow({
insert: function (userId, doc) {
return true;
},
download: function (userId) {
return true;
}
});
2)发布我的收藏:
Meteor.publish('images', function () {
Meteor.Images.find({});
});
3)更新了我的路由器以等待订阅:
Router.route('/test', {
waitOn: function () {
Meteor.subscribe('images');
},
action: function () {
this.render('test', {to: 'main'});
}
});
4)定义了一个模式:
Test.attachSchema(new SimpleSchema({
userName: {
type: String,
label: "Title",
max: 100
},
userImg: {
type: String,
autoform: {
afFieldInput: {
type: 'fileUpload',
collection: 'Images',
label: 'Upload a file'
}
}
},
}));
5)在我的测试中使用了快速表格'模板:
{{> quickForm collection="Test" type="insert"}}
快速表单显示在模板中,并带有一个按钮,上面写着'上传文件'如架构中所定义。当我单击按钮时,我可以浏览并单击本地文件系统中的文件。但是,当我单击quickform中的提交按钮时,我收到错误提示"用户img是必需的"。
这让我感到困惑。我在快速启动时完全遵循了这些步骤(我认为),但它根本没有做任何事情......有没有人知道我哪里出错?
答案 0 :(得分:1)
原来cfs:filesystem包不能与autoform-file一起使用。我改为GridFS,现在工作正常。