【问题标题】:Meteor.call failing within stub?Meteor.call 在存根中失败?
【发布时间】:2013-06-06 00:17:49
【问题描述】:

对于异步 javascript 编码还是新手,我正试图围绕这个要点:https://gist.github.com/dariocravero/3922137

在 client_save.file.js - 我不理解这个存根的所有部分:

fileReader.onload = function(file) {
    Meteor.call('saveFile', file.srcElement.result, name, path, encoding);
}

首先,函数(文件)中的参数没有定义——“文件”在哪里?!还是有一些“闭包”的魔力可以将值返回给文件参数?

其次,Meteor.call 不会触发,我将 console.logs 放在了 Meteor.methods 版本的 saveFile 中,然后得到 nada。是因为 fileReader.onload = function( ... 不是存根吗?

最后,fileReader.onload 是什么?它是否说明 DOM 何时加载任何 fileReader 尝试,然后调用此函数?有没有更好的方法在流星中做到这一点,使用类似 Meteor.template.rendered = function() .. ?

无论如何,我现在正式扭曲了,看了几个小时都分不清上下。正式地,我不能让 Meteor.call 触发,遵循那个要点。

(使用流星 0.6.31)。

【问题讨论】:

    标签: javascript meteor


    【解决方案1】:

    您必须使用更多代码。 fileReader 是 HTML5 api,可以读取您在 <input type="file" 中放置的文件或拖放到窗口中。所以当一个文件被加载到浏览器中时,fileReader.onload 被调用,file 作为加载到浏览器中的文件。

    看起来要点类似于Meteor-File大气存储库上的一个包。但并非所有代码都存在于该要点中。幸运的是,构建它的 Chris Mather 制作了视频广播,深入解释了它是如何制作的:http://www.eventedmind.com/posts/meteor-build-a-file-upload-package

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-24
      • 1970-01-01
      • 2015-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多