python批量上传

环境

  • python 3.6 你换成其他3x的版本也没关系
  • flask

项目很小,主要是演示一下使用flask接收页面上传的文件的方法。项目包含一个批量示范页面。

演示页面文件,为了方便演示。我把html,css和js写在一起了

演示页面 demo.html




    
    
     
      
           
    
    批量上传演示页



    
    0%

    服务端的文件也很简单 server.py

    # -*- coding: utf-8 -*-
    from flask import Flask
    from flask import render_template
    from flask import request
    import json
    import os
    
    
    app = Flask(__name__)
    port = 7002
    root_dir = os.path.dirname(os.path.realpath(__file__))
    resource_dir = os.path.join(root_dir, 'resource')
    
    @app.route("/")
    def upload_demo():
        """上传页面"""
        return render_template("upload_demo.html", page_title="批量上传")
    
    
    @app.route("/file/", methods=['post', 'get'])
    def file_func(action):
        """
        :param action: 动作, save/get(保存/获取)
        :return:
        """
        mes = {"message": "success"}
        if action == "save":
            """保存文件"""
            if os.path.exists(resource_dir):
                pass
            else:
                os.makedirs(resource_dir)
    
            for key_name, file_storage in request.files.items():
                if file_storage is not None:
                    file_name = file_storage.filename
                    file_storage.save(os.path.join(resource_dir, file_name))
                    file_storage.close()
        elif action == "get":
            """获取文件/图片,未实现"""
            pass
        return json.dumps(mes)
    
    if __name__ == '__main__':
        app.run(host="0.0.0.0", port=port, debug=True, threaded=True)
    

    项目的目录结构也很简单。


    2018-09-27 15-40-54屏幕截图.png

    你可能感兴趣的:(python批量上传)