|
@@ -7,7 +7,7 @@ conn = sqlite3.connect('/Users/alvin/memos_prod.db')
|
|
cursor = conn.cursor()
|
|
cursor = conn.cursor()
|
|
|
|
|
|
# 查询不是webp格式的图片数据
|
|
# 查询不是webp格式的图片数据
|
|
-cursor.execute("SELECT id, filename, `blob`, type, size FROM resource WHERE type like 'image%' AND type != 'image/webp'")
|
|
|
|
|
|
+cursor.execute("SELECT id, filename, `blob`, type, size FROM resource WHERE type like 'image%' AND type != 'image/webp'")
|
|
|
|
|
|
# 获取查询结果的所有行
|
|
# 获取查询结果的所有行
|
|
rows = cursor.fetchall()
|
|
rows = cursor.fetchall()
|
|
@@ -28,7 +28,7 @@ for row in rows:
|
|
new_blob = io.BytesIO()
|
|
new_blob = io.BytesIO()
|
|
|
|
|
|
# 将图片压缩为webp格式并保存到新的内存缓冲区
|
|
# 将图片压缩为webp格式并保存到新的内存缓冲区
|
|
- image.save(new_blob, format='webp', quality=90)
|
|
|
|
|
|
+ image.save(new_blob, format='webp', quality=50)
|
|
|
|
|
|
# 获取新的图片数据和相关信息
|
|
# 获取新的图片数据和相关信息
|
|
new_blob_data = new_blob.getvalue()
|
|
new_blob_data = new_blob.getvalue()
|
|
@@ -36,6 +36,9 @@ for row in rows:
|
|
new_filename = filename.rsplit('.', 1)[0] + '.webp'
|
|
new_filename = filename.rsplit('.', 1)[0] + '.webp'
|
|
new_type = 'image/webp'
|
|
new_type = 'image/webp'
|
|
|
|
|
|
|
|
+ # 日志打印
|
|
|
|
+ print(f'{image_id}压缩前: {old_size}, 压缩后:{new_size}')
|
|
|
|
+
|
|
# 更新数据库中的记录
|
|
# 更新数据库中的记录
|
|
cursor.execute("UPDATE resource SET filename=?, blob=?, type=?, size=? WHERE id=?", (new_filename, new_blob_data, new_type, new_size, image_id))
|
|
cursor.execute("UPDATE resource SET filename=?, blob=?, type=?, size=? WHERE id=?", (new_filename, new_blob_data, new_type, new_size, image_id))
|
|
|
|
|