2017-02-28 3 views
2

메신저 실시간 이미지 채팅을 사용하여 푸셔를 사용하려고합니다. 푸시 버튼을 사용하여 이미지를 표시하는 방법에 대해 아무 것도 없습니다. BLOB를 사용하여 이미지를 저장하지만 클라이언트에서 자바 스크립트로 표시 할 수 없습니다. 측면에서 이미지를 입력하는 사람은 이미지가 나타나지만 다른 사람의 화면에는 다시 돌아 오지 않습니다. 내가 코멘트에서 언급 한 바와 같이이미지를 푸시 실시간 채팅에 표시하는 방법

channel.bind('new_comments',function(data){ 
    $('.chat-widget').append("<div class='row'>\ 
     <div class='chat_post col-lg-12'>\ 
     <div class='media'>\ 
     <a class='pull-left' href='#'>\ 
       <img class='media-object img-circle' width=30 height=30 src='" + data.avatar +"' alt=''>\ 
        </a>\ 
        <div class='media-body'>\ 
         <h4 class='media-heading chat-name'><a href='profile.php?user=" + data.user + "' class='user_profile'>" + data.user + "</a>\ 
          <span class='small pull-right'>12:23 PM</span>\ 
         </h4>" + data.message + " </div>\ 
        </div>\ 
       </div>\ 
       </div>\ 
      <hr>\ 
"); 
+0

이미지의 크기는 얼마나됩니까? [10kB 제한] (https://pusher.com/docs/server_api_guide/interact_rest_api#publishing-events)을 클릭했을 수 있습니다. 이 제한으로 인해 Pusher를 통해 이미지의 URL 만 보내고 서버에서 이미지 자체를 제공하는 것이 좋습니다. –

+1

고마워요. 제 문제가 고맙습니다. –

+0

위대한; 나는 답으로 게시 할 것이다. –

답변

1

, 그 작업을 잘 그냥 바인드

$avatar = 'data:image/png;base64,'. base64_encode($image); 
$pusher = PusherInstance::get_pusher() ; 
$pusher->trigger(
    'channel_test', 
    'new_comments', 
    array('message' => $message ,'user' => $data_user), 
    $_POST['socket_id'] 
); 
echo json_encode(array('message' => $message,'user' => $data_user,'avatar'=>$avatar)) ; 

좋지 않아 다음 나는에 javscript을 사용하여 표시하려고하기 때문에 자바 스크립트를 제출 게시 didnt는, 메시지 크기는 끝났다 10kB 제한. 이 제한으로 인해 Pusher를 통해 이미지의 URL 만 보내고 서버에서 이미지 자체를 제공하는 것이 좋습니다.