现在我在我的meteor应用程序中使用了CLIENT ONLY实现的FineUploader。由于Meteor与服务器的紧密结合,添加这层复杂性并没有意义。对我来说没有意义的是如何正确地解决这个问题。
记录了FineUploader代码 - 您设置了一个端点。
有像https://atmospherejs.com/mrt/s3policies这样的软件包,但是他们不能使用端点(据我所知)。
有nodejs服务器示例,但我不知道如何将它作为我的流星项目的一部分。
在服务器上调用方法的工作方式是什么,
if (Meteor.isServer) {
Meteor.methods({
's3policy': function(options) {
// use something like https://atmospherejs.com/mrt/s3policies
// or something like https://github.com/FineUploader/server-examples/blob/master/nodejs/s3/s3handler.js
}
});
}
从客户端并在上传器中使用
var uploader = new qq.s3.FineUploader({
signature: {
endpoint: '/s3/signature'
// with the server side code from
// https://github.com/FineUploader/server-examples/blob/master/nodejs/s3/s3handler.js
// but this seems like it bypasses meteor's awesome
// and I don't know how to go about it
endpoint: Meteor.call('s3policy', {});
// this makes more sense to me but I'm not knowledgable enough
// about both technologies to make this work
}
});