博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用flask实现简单的文件上传
阅读量:5321 次
发布时间:2019-06-14

本文共 1365 字,大约阅读时间需要 4 分钟。

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)

转载于:https://www.cnblogs.com/666666pingzi/p/11210942.html

你可能感兴趣的文章
thinkphp的select和find的区别
查看>>
小程序开发笔记
查看>>
Web框架高级功能之模板、拦截器、Json、打包
查看>>
如何辨别一个程序员的水平高低?是靠发量吗?
查看>>
安装scikit-learn过程记录
查看>>
数据库的标识符可以有多长
查看>>
新手村之循环!循环!循环!
查看>>
在创业公司上班的感受
查看>>
Shell脚本
查看>>
masm32V11配置
查看>>
ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath
查看>>
通过Python、BeautifulSoup爬取Gitee热门开源项目
查看>>
正则表达式的用法
查看>>
线程安全问题
查看>>
集合的内置方法
查看>>
IOS Layer的使用
查看>>
Android SurfaceView实战 带你玩转flabby bird (上)
查看>>
Android中使用Handler造成内存泄露的分析和解决
查看>>
android代码控制seekbar的样式
查看>>
servlet
查看>>