zoukankan      html  css  js  c++  java
  • 使用Flask写Web接口(一)

      五一假期确实好好放松了一下自己,从代码工作里抽出身来做做高数“修身养性”,随着作息回到正轨,团队项目也要加紧做做了。

      项目需要一个Web接口实现与服务器之间的数据传输,因为使用的算法是python写的,为了方便调用可以实现预测的py文件,我就看了一些python的web框架。最开始我是学习了几天Django,不得不承认它是个很强大的Web框架,配置好之后功能很强,然而我仅仅想实现一个简单的接口,再引入一些其他的包来做一些数据的预处理,因此我又看了看Flask,最终决定使用Flask来写接口。

      这次只是写一下Flask的文件上传,接口还没有完成,因为预测文件的内部方法参数还没改好,当方法参数改好之后,可以通过接口传入理想的数据时,再与Android端完成拼接时,那个时候才算完成。

      Flask部分:

    from flask import Flask, render_template, request, redirect, url_for
    from werkzeug.utils import secure_filename
    import os
    
    app = Flask(__name__)
    
    @app.route('/try', methods=['POST', 'GET'])
    def upload():
        if request.method == 'POST':
            f = request.files['file']
            basepath = os.path.dirname(__file__)
            upload_path = os.path.join(basepath, 'myimg', secure_filename(f.filename))
            f.save(upload_path)
            return 'File Uploaded Successfully!'
    
        else:
    
            return 'ERROR'
    
    if __name__ == '__main__':
       app.run(debug=True)

      @app.route的参数理解类似于controller,html叫啥名就写啥。

      HTML:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Upload the IMG</title>
    </head>
    <body>
        <form action="http://127.0.0.1:5000/try" method="post" enctype="multipart/form-data">
            <input type="file" name="file">
            <input type="submit" value="提交">
        </form>
    </body>
    </html>

      需要注意的是action的参数和enctype的参数,启动flask时,其内部的端口默认是5000,因此action内的端口必须要写对。

      看看效果:

     

       当前任务:修改预测文件内的方法参数。

  • 相关阅读:
    FZU 2150 Fire Game
    POJ 3414 Pots
    POJ 3087 Shuffle'm Up
    POJ 3126 Prime Path
    POJ 1426 Find The Multiple
    POJ 3278 Catch That Cow
    字符数组
    HDU 1238 Substing
    欧几里德和扩展欧几里德详解 以及例题CodeForces 7C
    Codeforces 591B Rebranding
  • 原文地址:https://www.cnblogs.com/20183711PYD/p/14728406.html
Copyright © 2011-2022 走看看