带有放置区的Meteor.js

时间:2015-08-21 14:54:07

标签: javascript meteor dropzone.js

所以我使用https://github.com/devonbarrett/meteor-dropzone将dropzone上传部分添加到流星应用程序中。所以我有我的模板:

<template name = "upload">
    {{> dropzone url='/upload'  id='dropzoneDiv' maxFiles=2}}
</template> 

并指定使用铁路由器接收文件的路线:

Router.map(function(){
    this.route = ('upload');

    Dropzone.autoDiscover = false;

    var dropzone = new Dropzone("div#dropzoneDiv", {

        accept: function(file, done){
            console.log("true");

        }
    });
});

但是我一直收到一条错误消息,说&#34;错误:无效的dropzone元素&#34;。我也尝试使用jQuery ready函数创建drop zone实例,但这也没有用。有谁知道为什么我收到这个错误?

1 个答案:

答案 0 :(得分:1)

您错误地使用了放置区域设置的upload路线:您无需在代码中的任何位置拨打new Dropzone()dropzone在其upload模板中调用。

Router.route('/upload',{ name:'uploadRoute' }) .post(function () { var body = this.request.body; // your file is in there. Do what you want with it. }); 路线中,您不应该任何提及Dropzone:它是接收您的dropzone元素发送的数据的路线。相反,您应该在上传路径中添加一些上传和存储逻辑:

Template.upload.helpers({
  getUploadUrl: function () {
    return Router.routes.uploadRoute.url();
  }
});

此外,您应该使用助手来获取路线的完整网址:

<template name="upload">
  {{> dropzone url=getUploadUrl id='dropzoneDiv' maxFiles=2}}
</template> 

将模板更改为:

WAMP