반응형
python을 통해 MySQL 데이터베이스에서 Base64 이미지 검색
이것은 최대한 짧게 하겠습니다.저는 하루 중 다른 시간에 데이터를 데이터베이스로 전송하는 코드를 가지고 있습니다.전송되는 데이터의 한 종류는 열화상 카메라로부터의 이미지입니다.이 부분은 정상적으로 동작하며, 이미지를 base64로 인코딩하여 "LONGBLOB" 데이터 타입으로 DB에 전송합니다.
지금은 데이터베이스에서 이미지를 읽을 스크립트를 만들고 있지만 코드는 인코딩된 이미지 문자열을 정수로 읽는 것입니다.
#Audit to the database
with open("C:/Users/danie/Desktop/image7.png", "rb") as image:
image_read = image.read()
Image =base64.b64encode(image_read)
sql = "INSERT INTO flirimage (Image) VALUES (%s)"
arg=('Image')
cursor.execute(sql % arg)
db.commit()
이제 데이터를 읽고 저장합니다. (파일에서 읽기만 하면 이 코드가 작동합니다!!!)
import MySQLdb as mariadb
import base64
db = mariadb.connect(host="127.0.0.1", user="root", passwd="SECRET",
db="SECRET")
cursor = db.cursor()
ImageEncoded=cursor.execute("select * from flirimage")
db.commit()
image_64_decode=base64.b64decode(ImageEncoded)
filename='C:/Users/danie/Desktop/image_audit.png'
with open(filename, 'wb') as f:
f.write(image_64_decode)
db.close()
코드 실행 시:
TypeError: argument should be a bytes-like object or ASCII string, not 'int'
ImageEncoded
Out[38]: 1
Base64 문자열을 DB에 저장하는 방식에 문제가 있는 것 같습니다.하지만 내가 틀릴 수도 있습니다.
편집:
데이터베이스에 있는 데이터가 직접 인코딩되어 있다는 것을 보여주고 싶었습니다.첫 번째 코드 실행 후.이 게시물에 base64 문자열 전체가 너무 길어서 포함하지 않았습니다.
Image
Out[42]: b'iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAAAAABQyaazAAAgAElEQVR4ARzB68.............................
언급URL : https://stackoverflow.com/questions/51109303/retrieving-base64-image-from-mysql-database-via-python
반응형
'code' 카테고리의 다른 글
Alpine Docker 파일의 장점 -----캐시 없음 대 rm/var/cache/apk/* (0) | 2023.09.10 |
---|---|
plsql 오라클 DB 날짜에 대해 요일을 가져오는 방법 (0) | 2023.09.10 |
결과를 데이터베이스에 저장하기 위해 asp.net 웹 API에서 웹 API를 소비하는 방법은 무엇입니까? (0) | 2023.09.10 |
기본 스프링 부트 앱이 작동하지 않으며 다음을 표시합니다.프로세스 xxxx에서 실시간 데이터를 새로 고치지 못함 (0) | 2023.09.10 |
상위 구성 요소의 속성 액세스 (0) | 2023.09.10 |