PysonDB에서 이미지를 인코딩하고 저장하는 방법.

우리 중 많은 사람들이 데이터베이스에 이미지를 추가하는 것이 어렵다는 것을 알고 있습니다. PysonDB는 이제 대부분의 문제를 해결합니다. 이제 PysonDB에 이미지를 저장하는 방법을 보여드리겠습니다.

오늘 뭐 할까:


  • 이미지를 인코딩한 다음 디코딩합니다.
  • 그런 다음 PysonDB에 저장하겠습니다.

  • 전제 조건


  • pip를 통해 pysondb 설치

  • pip install pysondb
    


    시작하자.



    아래와 같은 이미지가 있습니다.


    file2son.png


    우리는 그것을 인코딩 할 것입니다.
  • 먼저 base64 모듈을 가져와야 합니다.
  • 이미지의 base64 인코딩을 처리합니다.

  • from pysondb import db 
    import base64
    from PIL import Image
    from io import BytesIO
    
    x=db.getDb("fs.json")
    def addimage(fi,name):
      with open(fi,"rb") as dataimg:
        raw_data=base64.b64encode(dataimg.read())
        x.add({"data":raw_data.decode('utf-8'),"name":name})
    
    addimage("file2son.png","image12")
    


  • pysondb,bas64
  • 를 가져오고 있습니다.
  • 나머지 2개는 곧 처리될 예정입니다.

  • x=db.getDb("fs.json")
    


  • 이렇게 하면 fs.json이라는 Json 데이터베이스가 생성되거나 연결됩니다
  • .
  • pysonDB를 모르는 경우 읽기




  • def addimage(fi,name):
      with open(fi,"rb") as dataimg:
        raw_data=base64.b64encode(dataimg.read())
        x.add({"data":raw_data.decode('utf-8'),"name":name})
    
    addimage("file2son.png","image12")
    


  • 읽기, 이진 모드에서 dataimg로 파일(여기서는 file2son.png )을 엽니다.

  • raw_data=base64.b64encode(dataimg.read())
    


  • dataimg의 모든 데이터를 base64 형식으로 인코딩합니다.

  •  x.add({"data":raw_data.decode('utf-8'),"name":name})
    


  • 이 코드는 pysondb 데이터베이스에 데이터를 저장합니다.
  • 인코딩 후 raw_data가 'utf-8' 형식으로 디코딩되는지 확인합니다.
  • 기타 오류가 표시됩니다.

  • 마지막으로 fs.json 데이터베이스에 데이터가 있습니다.

    이미지를 되찾자




    def getimage(filename,name):
      img_data=x.getBy({"name":name})
      img=Image.open(BytesIO(base64.b64decode(img_data[0]['data2'])))
      img.save(filename,"PNG")
    
    getimage("file.png","image12")
    



    img_data=x.getBy({"name":name})
    


  • 이 코드 조각은 제공된 이름으로 fs.json에서 base64 데이터를 가져옵니다.

  • img=Image.open(BytesIO(base64.b64decode(img_data[0]['data2'])))
    


  • 여기서는 베개(PIL) 모듈의 이미지를 사용하고 있습니다.
  • 이 코드의 기능은 다음과 같습니다.
  • fs.json에서 base64 데이터를 엽니다
  • .
  • 그리고 BytesIO는 데이터를 Image 함수에 의해 포착되고 img 변수에 할당되는 바이트 스트림으로 변환합니다.


  • img.save(filename,"PNG")
    


  • 이렇게 하면 파일 이름(여기서는 file.png )의 img가 PNG 형식으로 저장됩니다
  • .
  • 인코딩 및 디코딩된 디렉토리에 file.png가 있습니다.

  • 전체 코드




    from pysondb import db
    import base64
    from PIL import Image
    from io import BytesIO
    
    x=db.getDb("fs.json")
    def addimage(fi,name):
      with open(fi,"rb") as data:
        raw_data=base64.b64encode(data.read())
        x.add({"data":raw_data.decode('utf-8'),"name":name})
    
    
    addimage("file2son.png","image12")
    # addimage() is used to add file2son.png image in database with name as image12
    
    def getimage(filename,name):
      img_data=x.getBy({"name":name})
      img=img_data[0]['data2'].decode('base64'))
      img.save(filename,"PNG")
    getimage("file.png","image12")
    # getimage is used to retrieve the stored image of name image12 and get it as file.png
    


    오늘은 여기까지입니다. 더 많은 블로그를 팔로우하세요.



    의심의 여지가 있거나 내가 틀린 곳이 있습니까? 여기에 의견을 말하십시오. 내가 고칠 수 있도록.

    좋은 웹페이지 즐겨찾기