라벨이 express인 게시물 표시

python 과 node express 사이 이미지 주고 받기 구현

Client 는 Python 으로 작성 되었으며 Server 는 node express 로 된 시스템입니다. 양쪽 모두 웹소켓을 사용했습니다. 이미지를 서로 주고 받는데 한참을 헤메었네요. 일단 이미지를 base64 로 변환해서 json 으로 패키징 하여 서버에 전송하고 서버에서 받은 base64 데이터를 이미지로 변환하여 저장하는 로직입니다. python 에서 이미지를 data에 가져오는 방법입니다. data = io. BytesIO () picam2.capture_file(data, format = ' jpeg ' ) print (data. getbuffer ().nbytes) 가져온 이미지를 base64 로 변환한 후 다시 전송을 위한 데이터로 변환합니다. img_base64 = base64. b64encode (data. getbuffer ()). decode ( ' utf-8 ' ) 전송할 데이터로 패키징 합니다. responseData = { " type " : " camera " , " device_id " : device_id, " data " : img_base64 } 이제 웹소켓을 이용해서 전송합니다. responseStr = json. dumps (responseData) ws .send(responseStr) 이제 node express 에서 전송된 데이터를 받아서 이미지 처리하는 로직입니다. 받은 데이터로 이미지로 변환합니다. const image = Buffer. from (data, ' base64 ' ) 변환된 이미지를 저장합니다. writeFileSync ( ' image.jpg ' , image ) 정리해놓고 보니 간단하지만 로직을 이렇게도 해보고 저렇게도 해보고 한참을 헤메었습니다. 나중에 다시 참고할 때 편하도록....

Node Express Mongoose 조회가 되지 않을 때

Ubuntu Server 에 Node 를 설치하고 Express 를 사용하여 서비스를 할 예정이다. 데이터베이스는 MongoDB 로 구성되어 있다. Mongoose 를 이용하여 서비스를 구성하려고 하는데 매뉴얼 대로 해도 조회가 되지 않는다. 매뉴얼이 자세하지 않는거 같다. 많은 검색 후에 컬렉션을 설정해야 한다고 하여 했더니 조회가 되었다. var mongoose = require ( 'mongoose' ); var db = mongoose . connection ; db . on ( 'error' , console . error ); db . once ( 'open' , function () { console . log ( 'Connected to mongo server' ); }); mongoose . connect ( 'mongodb://user:password@host:port/dbname' , { useNewUrlParser : true , useUnifiedTopology : true }); var Schema = mongoose . Schema ; var cannonBeeSchema = new Schema ({ _id : Schema . Types . ObjectId , version : String , os : String , locale : String , uuid : String , count : String }); cannonBeeSchema . set ( 'collection' , 'cannonBee' ); var cannonBee = mongoose . model ( 'cannonBee' , cannonBeeSchema ); cannonBee . findOne ({}, function ( err , data ) { if ( err ) return conso