优化内存消耗 添加·单线程模式

This commit is contained in:
Kakune55 2024-04-16 11:48:04 +08:00
parent 0d68d58e3f
commit 30d99c1f08
5 changed files with 19 additions and 16 deletions

View File

@ -1,7 +1,8 @@
[server]
port=8080
debug=True
debug=0
host=0.0.0.0
threaded=0
[user]
username=admin

23
file.py
View File

@ -71,22 +71,23 @@ def raedZip(bookid: str, index: int):
def thumbnail(input,size=(400,800)):
im = Image.open(io.BytesIO(input))
del input
im = im.convert('RGB')
im.thumbnail(size)
output_io = io.BytesIO()
im.save(output_io,format='WEBP')
newimg = im.convert('RGB')
im.close()
newimg.thumbnail(size)
output_io = io.BytesIO()
newimg.save(output_io,format='WEBP')
newimg.close()
output_io.seek(0)
return output_io
def imageToWebP(input):
im = Image.open(io.BytesIO(input))
del input
im = im.convert('RGB')
output_io = io.BytesIO()
im.save(output_io,format='WEBP')
im.close()
output_io.seek(0)
with Image.open(io.BytesIO(input)) as img:
newimg = img.convert('RGB')
img.close()
output_io = io.BytesIO()
newimg.save(output_io,format='WEBP')
newimg.close()
output_io.seek(0)
return output_io

View File

@ -24,7 +24,8 @@ app.register_blueprint(page_bp)
if __name__ == "__main__":
appinit()
app.run(
debug=config.get("server", "debug"),
debug=config.getboolean("server", "debug"),
host=config.get("server", "host"),
port=config.get("server", "port"),
threaded=config.getboolean("server", "threaded"),
)

View File

@ -9,7 +9,7 @@ api_Img_bp = Blueprint("api_Img_bp", __name__)
def img(bookid, index): # 图片接口
if request.cookies.get("islogin") is None:
return abort(403)
if db.file.searchByid(bookid) == "":
if len(db.file.searchByid(bookid)) == 0:
return abort(404)
# 设置响应类型为图片
data, filename = file.raedZip(bookid, index)

View File

@ -36,7 +36,7 @@ def book(bookid): # 接口
if request.cookies.get("islogin") is None:
return abort(403)
data = db.file.searchByid(bookid)
if data == "":
if len(data) == 0:
return abort(404)
data[0] = list(data[0])
data[0][2] = data[0][2][0:-4] # 把文件扩展名去掉
@ -55,7 +55,7 @@ def view(bookid): # 接口
if request.cookies.get("islogin") is None:
return abort(403)
data = db.file.searchByid(bookid)
if data == "":
if len(data) == 0:
return abort(404)
return render_template("view.html", id=bookid, index=range(1, data[0][3]))