zoukankan      html  css  js  c++  java
  • 使用flask实现简单的文件上传

    from flask import Flask, redirect, render_template, request, url_for
    from werkzeug.utils import secure_filename
    import os
    app = Flask(__name__)
    ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif', 'doc'])

    # 设置允许上传的文件的类型


    def allowed_file(filename):
    """
    上传的文件类型
    :param filename: 传入的文件名
    :return: 返回True 或者 False
    """
    return "." in filename and filename.rsplit(".", 1)[1] in ALLOWED_EXTENSIONS


    @app.route("/", methods=["GET", "POST"])
    def file_name():
    """
    上传文件
    :return: 返回上传文件的url地址
    """
    if request.method == "POST":
    f = request.files["file"]
    if f and allowed_file(f.filename):
    path = os.path.split(os.getcwd())[0]
    print(path)
    file = path+"/demo/templates/"+secure_filename(f.filename)
    print(file)
    f.save(file)
    return redirect("/uploads")
    else:
    return redirect(url_for("fail"))
    return render_template("file_name.html")


    @app.route("/uploads")
    def successful():
    """
    设置返回路径的视图函数
    :return:
    """
    url = url_for("file_name")
    return '访问文件的路径:http://127.0.0.1:5000{}'.format(url)


    @app.route("/fail")
    def fail():
    """
    文件类型不符合的视图函数
    :return:
    """
    return "文件不符合规则"


    if __name__ == '__main__':
    app.run(debug=True)
  • 相关阅读:
    PDO应用
    分页查询
    PHP去除数组中重复数据的两个例子
    数据库访问(现用基本格式)
    克隆、加载类
    抽象类和接口
    静态
    PHP基础
    数据库的常用函数
    数据库的高级查询
  • 原文地址:https://www.cnblogs.com/666666pingzi/p/11210942.html
Copyright © 2011-2022 走看看