Meteor调用存根中的不同参数

时间:2016-03-16 03:14:59

标签: meteor

我有一个流星方法,它应该通过传递一个cdn键来处理文件/图像上传,这只是一个字符串。

对于延迟补偿,我想将实际图像blob添加到LocalMongo,这样我就可以添加图像预览。

这是一个问题,因为我想将字符串键传递给我的服务器方法,而我想将文件blob传递给我的客户端方法存根。 Meteor支持这个吗?我不想将图像blob传递给我的服务器(因为这样做会序列化blob /使调用成本高昂)。

我想到的解决方案是仅定义两个具有不同名称的Meteor方法,第一个用于客户端,另一个用于服务器,并且只使用适当的参数调用它们。这是在Meteor中这样做的正确方法吗?

编辑:我上面的解决方案并没有真正起作用,因为Meteor意识到服务器上没有方法(并且核对了我的客户端方法的本地更改)

1 个答案:

答案 0 :(得分:1)

只是一个建议,您可以将文件blob保存在Session变量中,并在从客户端调用方法存根时访问该方法,如下所示,

Meteor.methods({
    'yourMethod': function (key) {
        if (Meteor.isClient) {
            var fileBlob = Session.get('my-file-blob'); //set this variable just before calling this method. And don't forget to remove it when template is destroyed.

        } else {

        }
    }
});

就像我说的那样,我没有测试它,只是一个建议。希望它有所帮助。