• Flask 上传下载文件


    上传文件示例代码

    #encoding:utf8
    from werkzeug.utils import secure_filename
    from flask import Flask,render_template,jsonify,request,send_from_directory
    import time
    import os
    import base64
    
    app = Flask(__name__)
    UPLOAD_FOLDER='upload' # 用于保存上传文件的文件夹名称
    app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
    basedir = os.path.abspath(os.path.dirname(__file__))
    ALLOWED_EXTENSIONS = set(['txt','png','jpg','xls','JPG','PNG','xlsx','gif','GIF']) # 允许上传的文件格式
    
    # 用于判断文件后缀
    def allowed_file(filename):
        return '.' in filename and filename.rsplit('.',1)[1] in ALLOWED_EXTENSIONS
    
    # 用于测试上传,稍后用到
    @app.route('/',methods=['GET'],strict_slashes=False)
    def indexpage():
        return render_template('index.html')
    
    # 上传文件
    @app.route('/',methods=['POST'],strict_slashes=False)
    def api_upload():
        file_dir = os.path.join(basedir, app.config['UPLOAD_FOLDER'])
        if not os.path.exists(file_dir):
            os.makedirs(file_dir)
        f = request.files['file']  # 从表单的file字段获取文件,file为该表单的name值
    
        if f and allowed_file(f.filename):  # 判断是否是允许上传的文件类型
            fname = secure_filename(f.filename)
            ext = fname.rsplit('.',1)[1]  # 获取文件后缀
            unix_time = int(time.time())
            new_filename = str(unix_time)+'.'+ext  # 修改了上传的文件名
            f.save(os.path.join(file_dir,new_filename))  #保存文件到upload目录
            token = base64.b64encode(new_filename)
            print(token)
    
            return jsonify({"errno":0, "msg":"succeed ","token":token})
        else:
            return jsonify({"errno":1001, "errmsg":u"failed"})
    
    if __name__ == '__main__':
        app.run(debug=True, port=9990)

    下载

    send_file('供下载的文件名', as_attachment=True, attachment_filename="下载给用户的文件名")

                         

  • 相关阅读:
    Java控制台五子棋编码学习
    Java Web基础
    JavaScript Unit Test with Mocha
    Cross-browser Testing Tool
    GRIDVIEW 控件
    C# .net ACCESS 网页增删改查 --留言板
    在一般处理文件中访问Session需要添加IRequiresSessionState(转载)
    win7 IIS7 发布网站 出现 "处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误"
    http://www.cnblogs.com/hanshuhe/archive/2012/08/30/vss.html
    win 7 配置 IIS
  • 原文地址:https://www.cnblogs.com/zhuminghui/p/11435783.html
Copyright © 2020-2023  润新知