2016-12-22 3 views
0

Я хочу загрузить и загрузить файлы изображений и преобразовать png в jpg с помощью Flask. поэтому я использую 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') 

ответ

1

Для обработки загрузки взглянуть на документацию Колба Uploading Files. Также я могу рекомендовать использовать Flask-Uploads Plugin для обработки загрузок. Скачивание легко, так как вам нужно только указать ссылку на файл изображения.

Для преобразования изображений с jpg в pngPillow - хороший выбор. Это преемник PIL.

Смежные вопросы