批量存储图片到mysql的软件
如今,大量的图片和照片是我们日常生活和工作中必不可少的一部分。对于一些有需要的用户,他们需要有一种方法来方便地存储、管理和浏览这些图片。在这种情况下,一款能够批量存储图片到MySQL数据库的软件就非常有用了。
这样的软件对于摄影师、网站设计师、艺术家和数字营销人员来说非常有帮助。他们经常需要处理大量的图片,并保证图片的统一性和可访问性。使用这样的软件可以轻松地存储和管理这些图片。
import os import MySQLdb from PIL import Image 1. 定义MySQL数据库信息 mysql_host = 'localhost' mysql_port = '3306' mysql_user = 'root' mysql_password = '123456' mysql_db = 'test' 1. 定义图片文件夹路径和数据库表名称 path = 'C:\Users\Administrator\Desktop\test\' table_name = 'images' 1. 定义连接和游标对象 db = MySQLdb.connect(host=mysql_host, port=int(mysql_port), user=mysql_user, passwd=mysql_password, db=mysql_db, charset='utf8') cursor = db.cursor() 1. 定义插入图片到数据库的函数 def insert_image_to_mysql(file_path): try: 1. 打开图片文件 fp = open(file_path, 'rb') img = Image.open(fp) 1. 获取图片文件名并获取类型 filename = os.path.basename(file_path) file_type = os.path.splitext(filename)[1] 1. 转换图片为二进制 blob_value = MySQLdb.Binary(fp.read()) 1. 插入二进制数据到数据库 query = "INSERT INTO {} (filename, file_type, data) VALUES ('{}', '{}', %s)".format(table_name, filename, file_type) cursor.execute(query, (blob_value,)) db.commit() print("Insert {} success".format(filename)) 1. 关闭文件 fp.close() except Exception as e: print("Error:", e) db.rollback() 1. 批量插入图片到MySQL数据库 for filename in os.listdir(path): if filename.endswith('.jpg') or filename.endswith('.jpeg') or filename.endswith('.png'): insert_image_to_mysql(path + filename) 1. 关闭游标和数据库连接 cursor.close() db.close()