2016-04-13 2 views
0

Я не могу найти какую-либо документацию, которая объяснит, как я могу получить filename и filepath загруженного изображения коллекцииFS в мой метод метеор.Получить код изображения в методе Метеор

Я могу получить URL-адрес изображения на стороне клиента без проблем с помощью helpers, но я не могу понять, как я могу отправить имя файла и путь к файлу прикрепленного образа к моему методу.

Метод JS

Meteor.methods({ 
addQuote: function(data) { 
    check(data, Object); 

    var attachments = []; 
    var html = html; 

    // need to get the filename and filepath from collectionFS 
    // I would then have the data go here 
    attachments.push({filename: , filePath: }); 

    this.unblock(); 

    var email = { 
    from: data.contactEmail, 
    to:  Meteor.settings.contactForm.emailTo, 
    subject: Meteor.settings.contactForm.quoteSubject, 
    html: html, 
    attachmentOptions: attachments 
    }; 

    EmailAtt.send(email); 
} 
}); 

Контроллер JS

 function ($scope, $reactive, $meteor) { 
      $reactive(this).attach($scope); 

      this.user = {}; 


      this.helpers({ 
      images:() => { 
       return Images.find({}); 
      } 
      }); 

      this.subscribe('images'); 

      this.addNewSubscriber = function() { 


      // Uploads the Image to Collection 
      if(File.length > 0) { 
       Images.insert(this.user.contactAttachment); 
       console.log(this.user.contactAttachment); 
      } 

      // This is the variable I use to push to my method 
      // I image I need to push the filename and filepath also 
      // I am unsure how to access that information in the controller. 
      var data = ({ 
       contactEmail: this.user.contactEmail, 
       contactName: this.user.contactName, 
       contactPhone: this.user.contactPhone, 
       contactMessage: this.user.contactMessage 
      }); 

      // This will push the data to my meteor method "addQuote" 
      $meteor.call('addQuote', data).then(
       function(data){ 
       // Show Success 
       }, 
       function(err) { 
       // Show Error 
       } 
      ); 
      }; 

ответ

0

Вы можете использовать вставку обратного вызова, чтобы получить эту информацию:

Images.insert(fsFile, function (error, fileObj) 
{ 
     if (error) console.log(error); 
     else 
     { 
      console.log(fileObj); 
      //Use fileObj.url({brokenIsFine: true}); to get the url 
     }       
}); 
Смежные вопросы