Метеор + FineUploader + s3
Прямо сейчас я использую реализацию 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
}
});