我想上传和下载图像文件并使用Flask将png转换为jpg。 所以我使用PIL。我不知道上传和下载并将png转换为jpg。
这是代码
from flask import Flask, make_response, request
from PIL import Image
app = Flask(__name__)
def transform(pngtojpg):
pngtojpg.save('c:/photo/result_image.jpg')
return pngtojpg
@app.route('/')
def form():
return """
<html>
<body>
<h1>Transform a png to jpg</h1>
<form action="/convert" method="post" enctype="multipart/form-data">
<input type="file" name="img_file" />
<input type="submit" />
</form>
</body>
</html>
"""
@app.route('/convert', methods=["POST"])
def convert_view():
file = request.files['img_file']
if not file:
return "No file"
png = Image.open(file)
result = transform(png)
response = make_response(result)
response.headers["Content-Disposition"] = "attachment; filename=result_image.jpg"
return response
if __name__ == '__main__':
app.run(host='0.0.0.0')
答案 0 :(得分:1)
要处理上传,请查看Flask文档Uploading Files。我也建议使用Flask-Uploads Plugin来处理上传。下载非常简单,因为您只需要提供指向图像文件的链接。
将图片从jpg
转换为png
Pillow是一个不错的选择。它是PIL的继承者。