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内的端口必须要写对。

      看看效果:

     

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

  • 相关阅读:
    getRandomInt getRandomString
    git 换行符替换
    Versions maven plugin 修改版本
    spotless-maven-plugin java代码自动格式化mvn spotless:apply -fn
    eclipse.ini
    JVM架构和GC垃圾回收机制
    查看搜狗浏览器记住的密码
    TestGc finalize()
    Storm个人学习总结
    mongo嵌套查询
  • 原文地址:https://www.cnblogs.com/20183711PYD/p/14728406.html
Copyright © 2011-2022 走看看