我正在使用以下meteor包来上传图片
https://github.com/CollectionFS/Meteor-CollectionFS
我正在使用的代码
Uploads =new FS.Collection('uploads',{
stores: [new FS.Store.FileSystem('uploads',{path:'~/projectUploads'})]
});
if (Meteor.isClient) {
Template.makedobox3.events({
'change .fileinput':function(event,template){
FS.Utility.eachFile(event,function(file){
var fileObj=new FS.File(file);
Uploads.insert(fileObj,function(err){
console.log(err);
});
})
}
});
}
当我尝试在控制台中上传文件时出现错误
M ... r.m ... e.errorClass {error:404,reason:“Method not found”,details:undefined,message:“Method not found [404]”
我在窗口环境中。安装了自动发布和不安全的软件包。 我不确定我错过了什么?
答案 0 :(得分:5)
确保您还在服务器端定义此集合:
Uploads =new FS.Collection('uploads',{
stores: [new FS.Store.FileSystem('uploads',{path:'~/projectUploads'})]
});
无法找到该方法的原因是服务器端(在/server
文件夹中)或在if(Meteor.isServer) {
而不是{{}中运行的代码块中未定义集合{1}}。
另一种选择是Meteor是同构的,因此您可以从if(Meteor.isClient)
块移动集合定义,以便它在客户端和服务器上运行。