>  기사  >  백엔드 개발  >  MySQL에 사진을 저장하고 Python3.x를 사용하여 표시하는 방법은 무엇입니까?

MySQL에 사진을 저장하고 Python3.x를 사용하여 표시하는 방법은 무엇입니까?

WBOY
WBOY앞으로
2023-05-09 18:37:081382검색

    Python3는 mysql에 사진을 저장하고 표시합니다


    먼저 데이터베이스를 구축한 다음 cmd를 입력하고 시스템 작업 상자에 ipconfig를 입력하여 컴퓨터의 IP 정보를 표시합니다


    MySQL에 사진을 저장하고 Python3.x를 사용하여 표시하는 방법은 무엇입니까?


    메인 중요한 것은 컴퓨터 IP 주소를 아는 것입니다.


    먼저 mysql에서 테이블을 생성하고 필드를 설정한 후 다음 코드를 입력해야 합니다.

    create table image(id int(5)auto_increment primary key,image1 mediumblob)

    그런 다음 Python을 열어야 합니다. 저는 pycharm을 사용합니다.

    우리가 사용해야 할 패키지는 pymysql입니다

    가져오려는 이미지를 pycharm으로 드래그하고 나중에 사용할 이름을 설정한 다음 먼저 이미지 파일을 읽습니다(바이너리 읽기 방법 ‘rb’ 사용)

    f = open('2.jpg','rb')
    img = f.read()
    f.close()

    그런 다음 mysql에 연결합니다.

    gao = pymysql.connect(
                           host='157.142.13.27',#本机或其他机器的ip地址
                           port=3306,#接口
                           user='root',#用户名
                           passwd='******',#密码
                           db='gao',#你所使用的数据库
                           charset='utf8',#编码方式
                           use_unicode=True, )

    커서를 만들고 커서 기능을 사용합니다.

    g = gao.cursor()

    이미지 정보 읽기

    f = open('2.jpg','rb')data = f.read()

    실행 기능을 사용하여 데이터베이스를 수정합니다.

    g.execute('insert into image(image1) values (%s)'%data)

    참고: 항상 수정하지 않는다는 메시지가 표시되는 경우 데이터베이스에 연결할 수 있는 권한이 있으면 먼저 데이터베이스에 로그인하고 mysql 데이터베이스를 입력한 다음 호스트를 변경합니다.

    update user set host = '%' where user = 'root';mysql>flush rivileges

    마지막에는 커서와 연결을 닫아야 합니다.

    작성 후 데이터베이스에 설정한 테이블의 내용을 확인할 수 있지만, 디코딩 방식으로 인해 pycharm에 그림이 표시될 수 있습니다.

    Python은 이미지를 mysql 데이터베이스로 가져옵니다

    # 今天需要用Python实现将图片导入MySQL数据库。看了看网上的一些写法,自己也过一遍,记录下来,以防忘记。
     
    # 功能:将图片导入到MySQL数据库
    import sys
    import pymysql
    from PIL import Image
    import os
     
    path = "./"
     
    #读取图片文件
    fp = open("./陈丹江-420381198212068517.JPG", 'rb')
    img = fp.read()
    fp.close()
     
    #建立一个MySQL连接
    database = pymysql.connect(host="10.31.143.6", user="root", passwd="******", db="aaa", charset='utf8')
    # 存入图片
    # 创建游标
    cursor = database.cursor()
    #注意使用Binary()函数来指定存储的是二进制
    sql = "INSERT INTO vbp_person_ext (person_id, image, img_type) VALUES  (%s, %s, %s);"
    args = ('39', img, 'JPG')
    cursor.execute(sql, args)
     
    database.commit()
    # 关闭游标
    cursor.close()
    # 关闭数据库连接
    database.close()
    print("============")
    print("Done! ")

    데이터베이스 테이블 vbp_person_ext에는 person_id, image, img_type(이미지는 이미지 정보)의 세 가지 필드가 포함되어 있습니다.

    프로세스 중에 문제가 발생했습니다

    오류:

    UnicodeEncodeError: 'latin-1 ' 코덱은 위치 303-304의 문자를 인코딩할 수 없습니다: 서수는 범위(256)에 없습니다

    해결책: charset='utf8

    추가

    위 내용은 MySQL에 사진을 저장하고 Python3.x를 사용하여 표시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제