2015-08-10 23 views
5

Ben cloudinary Lepozepo/ile bir fotoğraf yüklemek için çalışıyorumMeteor: Cloudinary

Bu benim sunucu ve istemci yapılandırma

sunucusudur:

Cloudinary.config({ 
    cloud_name: '*****', 
    api_key: '******', 
    api_secret: '********' 
}); 

istemci:

$.cloudinary.config({ 
    cloud_name: "*******" 
}); 

Bir form ile

html formu kodunu görüntü yüklemek çalıştı:

<form> 
    <input type="file" id="userimage" name="userimage"/> 
    <button type="submit">Upload</button> 
</form> 

Ve bu bu şablon için bir olaydır benim olduğunu

Template.signup.events({ 
    // Submit signup form event 
    'submit form': function(e, t){ 
     // Prevent default actions 
     e.preventDefault(); 

    var file = $('#userimage')[0].files[0]; 
    console.log(file) 
    Cloudinary.upload(file, function(err, res) { 
      console.log("Upload Error: " + err); 
      console.log("Upload Result: " + res); 
     }); 
    }  
}); 

i yükle düğmesi hiçbir şey tıklayarak

olur, az önce bir hatam var.

cevap

2

Bunu çözmenin bir yolunu buluyorum.

  1. Lepozepo/cloudinary Cloudinary.upload yöntem dosya parametresi bir dizi, sadece bu kodu ekleyin:

    var files = [] 
    var file = $('#userimage')[0].files[0]; 
    files.push(file) 
    console.log(files) 
    

Ve o iş ince

+0

Yanıtlama nesnesini bu şekilde alamıyorum. Photo_id veya image url'sini alamıyorum. Bunu nasıl alabilirim? – jro

+0

Aynı problemim var. Cloudinary'ye dosya yükleyebilirim. Ama geri arama sonuçlarını yakalayamıyorum. –

+0

"upload" yerine "_upload_file" kullanarak hata ve yanıtları yakalarım. –

3

" "_upload_file" yerine kullanın "yükleyin. Aslında "upload" içinde "_upload_file" kullanılır. Fakat bir şekilde "yükleme" yi kullandığınızda hata ve yanıtı yakalayamıyorsunuz

Hata ve yanıtı alabilirsiniz.

Meteor Versiyon: 1.1.0.3

lepozepo: cloudinary: Şu anda kaynağında bu yama edeceğiz yanı tek dosyaları kabul etmek 1.0.2

Cloudinary._upload_file(files[0], {}, function(err, res) { 
    if (err){ 
    console.log(err); 
    return; 
    } 
    console.log(res); 
}); 
+0

Belki Lepozepo bazı değişiklikler yaptı, ama teşekkürler :). Benim yöntemim hala benim için çalışıyor (Son zamanlarda meteor güncellemesini çalıştırmadım. –

0

. Ancak, Cloudinary.upload işlevi Cloudinary.upload(files) işlevini bekler ve Cloudinary.upload(files[n])