2016-03-16 3 views
0

У меня есть метод метеор, который должен обрабатывать загрузку файлов/изображений, передавая ключ cdn, который является просто строкой.Различные параметры в столбцах Meteor call

Для компенсации задержки я хочу добавить фактическое изображение blob в LocalMongo, таким образом, я могу добавить предварительный просмотр изображения.

Это проблема, так как я хочу просто передать строковый ключ моему методу сервера, в то время как я хочу передать файл blob в мой клиентский метод. Поддерживает ли Метеор это? Я не хочу передавать изображение на свой сервер (так как это сделает сериализацию blob/сделайте вызов дорогостоящим).

Решение, о котором я думаю, состоит в том, чтобы просто определить два метода Метеор с разными именами, первый для клиента и другой для сервера, и просто называя их обоими с соответствующими параметрами. Это правильный способ сделать это в Метеор?

EDIT: Мое решение выше фактически не работает, потому что Метеор понимает, что не существует метода на сервере (и ядерных зарядов локальные изменения моего метода клиента)

ответ

1

Просто предложение, вы можете сохранить файл BLOb в переменной сеанса и доступа в методе, когда метод заглушки вызывается из клиента, как это,

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 { 

     } 
    } 
}); 

как я уже сказал, я не проверял, но только предложение. Надеюсь, поможет.

+1

После очистки документов, насколько я могу, кажется, что хранить данные в локальном состоянии, как это, похоже, единственный способ пойти. – Secret

Смежные вопросы