使用Meteor-CollectionFS上传Meteor文件,找不到错误方法

时间:2015-06-18 09:16:34

标签: meteor collectionfs

我正在使用以下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]”

我在窗口环境中。安装了自动发布和不安全的软件包。 我不确定我错过了什么?

1 个答案:

答案 0 :(得分:5)

确保您还在服务器端定义此集合:

Uploads =new FS.Collection('uploads',{
    stores: [new FS.Store.FileSystem('uploads',{path:'~/projectUploads'})]
});

无法找到该方法的原因是服务器端(在/server文件夹中)或在if(Meteor.isServer) {而不是{{}中运行的代码块中未定义集合{1}}。

另一种选择是Meteor是同构的,因此您可以从if(Meteor.isClient)块移动集合定义,以便它在客户端和服务器上运行。