在meteor.js中实现拖放区域

时间:2015-11-10 10:43:01

标签: meteor drag-and-drop

我刚试过下面的代码

Template.gallery.events({
  'dropped #dropzone': function(event, temp) {
    console.log('files dropped');
    Images = new FS.Collection("images", {
      stores: [new
        FS.Store.FileSystem("images", {
          path: "~/meteor_uploads"
        })
      ]
    });
    FS.Utility.eachFile(event, function(file) {
      console.log("each file ...")
      var images = new FS.File(file);
      Images.insert(images, function(err, fileObj) {
        if (!err) {
          console.log("inserted without error");
        } else {
          console.log("there was an error", err);
        }
      });
    });
  }
});

如果有什么东西落入掉落区,则会出现错误

文件丢弃了 每个文件......
文件丢失了 存储名称已存在:“images” 有一个错误 errorClass {error:404,reason:找不到方法:,details:undefined,message:“Method not found [404]”,errorType:“Meteor.Error”}

提供解决方案的建议

1 个答案:

答案 0 :(得分:0)

将以下代码移出事件处理程序,移动到将在触发事件之前在客户端(或客户端和服务器上)执行的某个位置。

Images = new FS.Collection("images", { stores: [
         new FS.Store.FileSystem("images", { path: "~/meteor_uploads" })
       ]});

此行抛出了第二次执行时显示的错误。在该回溯中,在第一次执行等待Images.insert回调

时触发第二次执行