2016-04-11 33 views
0

Resim yüklemeleri işlemek için collection fs paketi yükledim ve şu ana kadar tek bir resmi başarıyla yüklemedim.Koleksiyon fs ile basit bir resim yükleme

Ben Bu benim html

<input type="file" class="ip form-control" name="sn_edit" value=""> 

Bu

SchoolImages = new FS.Collection("SchoolImages", { 
    stores: [new FS.Store.FileSystem("SchoolImages", {path: "~/meteor_uploads"})] 
}); 


if (Meteor.isServer) { 
    SchoolImages.allow({ 
    insert: function (userId, doc) { 
     return false; 
    }, 

    update: function (userId, doc, fieldNames, modifier) { 
     return false; 
    }, 

    remove: function (userId, doc) { 
     return false; 
    } 
    }); 

    SchoolImages.deny({ 
    insert: function (userId, doc) { 
     return true; 
    }, 

    update: function (userId, doc, fieldNames, modifier) { 
     return true; 
    }, 

    remove: function (userId, doc) { 
     return true; 
    } 
    }); 
} 

i bir görüntü benim koleksiyonları kod yükleyerek deneyin, hiçbir görüntü Etkinliğimden

'change .ip': function(event, template) { 
     FS.Utility.eachFile(event, function(file) { 
      var yourFile = new FS.File(file); 
     SchoolImages.insert(yourFile, function (err, fileObj) { 
      if (err){ 
      // handle error 
      alert('error'); 

      } else { 
      // handle success depending what you need to d 
      alert('success'); 
      } 
     }); 
    }); 
    } 

Bu kodu var yüklenir ve koleksiyon oluşturulmaz. Kodum alert('error') hata veriyor - yukarıdaki kodlara bakın.

Görüntüyü başarılı bir şekilde yüklemek için kodumu nasıl düzeltmeliyim?

+0

Eğer 'gridfs' ile yükleme yapmak istiyorsanız: http://mrmnmly.net/posts/saving-images-from-api-in-meteor-apps – mrmnmly

+0

@lukaszkups Eğiticiyi okudum Ama bilgisayardan bir dosya alıp Api'den değil, çok karmaşık. Yine de teşekkürler. –

cevap

0

Meteor.isServer içinde db işlemine izin vermeniz gerekmez. Aşağıdaki gibi koleksiyon kodunu doğrudan yazabilirsiniz.


SchoolImages = new FS.Collection("SchoolImages", { 
    stores: [new FS.Store.FileSystem("SchoolImages", {path: "~/meteor_uploads"})] 
}); 



SchoolImages.allow({ 
    insert: function (userId, doc) { 
     return true; 
    }, 

    update: function (userId, doc, fieldNames, modifier) { 
     return true; 
    }, 

    remove: function (userId, doc) { 
     return true; 
    } 
    }); 

Genellikle Senin farklı klasörlerde projenizi yapılandırmaya lib klasörünün içindeki bu kodu yazmak için önerilir.

+0

Onun tuhaf, içinde oraya koyar onun demir cli sunucu. Kodu taşıdım ve hala değişiklik yok. –

+0

Bu her zaman benim için çalışır, Github'da min kodu paylaşırsanız size daha fazla yardımcı olmak isterim. –

+0

Bu, tüm kodumun özünü oluşturur https://gist.github.com/openqubit/3fd44a259f500b6e6c30526e637d83ef –