2016-11-24 8 views
0

状況::lepozepo:cloudbeanパッケージを使用して、Meteorアプリでプロフィール画像として画像アップロードを実装しています。したがって、各ユーザーには1つのプロフィール画像があります。新しい写真をアップロードすると写真が置き換えられます。同様に、それを削除するとアップロードされた唯一の画像が削除されます。Cloudineryのアップロードした画像を取得して削除するにはどうすればよいですか?

だから、私の質問は以下のとおりです。

  • は、私は、画像を格納するためのコレクションを持っている必要がありますか?私は クラウドにアップロードし、userIdに基づいてそれを表示するURLを取得することを好む。
  • 一度画像がアップロードされると、デフォルト画像を表示しないと{{#if画像}}に画像をアップロードして表示する方法はありますか?
  • 私はアップロードスタックをオンとしていると思います。 1イメージのmaximimアップロードを指定する方法はありますか?別のものをアップロードすると、それは既存のものを置き換えますか?
  • 最新のアップロードされた画像のみを表示するにはどうすればよいですか?


コードです。 ** config.jsはサーバーとクライアントの両方に設定されています。

1))

Template.profile.events({ 
    'submit form': function(e, t) { 
     e.preventDefault(); 

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

     Cloudinary._upload(files[0], {}, function(err, res) { 
     if (err){ 
      console.log("Error: " + err); 
     } else { 
      console.log("Success :" + res); 
     } 
     }); 

    } 

}); 

2をprofile.js私はあなたが流星に精通していると仮定し

<form> 
    <input type="file" id="userimage" name="userimage" class='upload_field cloudinary_fileupload' /> 
     <div class="progress_bar" style='background-color: red, height: 20px'> 
     <div class='thumbnails'></div> 
    <button type="submit"> Upload </button> 
    <button type="delete"> Clear </button> 
    </form> 

答えて

1

をprofile.html:

  • 私は必要ですかイメージを格納するCollectionを持つ?私はクラウドにアップロードし、userIdに基づいてそれを表示するURLを取得することを好む。

これはユーザーのアバターで、1人のユーザーには1つのアバターしかないため、結果を必ずdbに保存する必要があります。だから私は絵がアップロードされるとUserコレクション

  • に格納することを提案、どのように私が持っている{{#ifのイメージ}}デフォルトの写真を表示しない場合は、その後、アップロードされた写真を表示しますか?

画像をコレクションに保存する場合は、Userをexに設定すると、アップロード後にそのコレクションに結果を挿入/更新する必要があります。その後、反応性は、私がアップロードが上と上のスタックだと思う(もちろん、あなたがimageヘルパー内の値をサブスクライブして取得する必要が)

  • 問題を解決する必要があります。 1画像の最大アップロードを指定する方法はありますか?別のものをアップロードすると、それは既存のものを置き換えますか?

私はかなりこの質問を理解していないが、未完成のアップロード処理私は、唯一の最新アップロードされた画像を表示するにはどうすればよい

  • ありながら、あなたは常に更新フォームを無効にするだろうか?

アップロード後、最新の結果をdbに更新してください。

+0

わかりました。あまりよく知られていません。私はMeteorのinbuiltを使ってImとしてUserコレクションを持っていません。画像コレクションと言って、現在のユーザの下にタグ付けすることは可能ですか?すなわちuserId:Meteor.userId()? User collectionを設定するにはどうすればいいですか? – Thinkerer

+0

メテオの右にアカウントシステムのビルトインを使用していますか?つまり、あなたはユーザーコレクションを持っています。 Meteorは 'accounts- *'パッケージを追加するとMongodbに 'users'という名前のコレクションを作成します。アバターを保存するには、あなたのユーザー文書に更新するだけです: 'Meteor.users.update({_ id:Meteor.userId()}、{$ set:{'profile.avatar':public_id}});' – Khang

+0

私はマークしましたこれは答えとして。また、さらにエラーが発生し、ここに投稿しました http://stackoverflow.com/questions/40992614/public-id-is-not-defined-meteorcloudinary – Thinkerer

関連する問題