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

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

 

test_flask.py

from flask import Flask,render_template,request,redirect,url_for,flashfrom werkzeug.utils import secure_filename      #导入安全函数import osapp = Flask(__name__)app.config['SECRET_KEY'] = os.urandom(24)ALLOWED_EXTENSIONS = set(['txt', 'png', 'jpg', 'jpeg', 'gif'])      #设置可以上传的文件def allowed_file(filename):    return '.' in filename and filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS    #返回结果为false或者true [1]为获取的文件的后缀名@app.route('/')def hello_world():    return 'Hello World!'@app.route('/upload/',methods=['GET','POST'])def upload():    if request.method == 'POST':        f = request.files['file']        #print (f)        if f and allowed_file(f.filename):              app.config['UPLOAD_FOLDER'] = os.path.join(os.path.dirname(__file__),'static/uploads')    #设置上传文件到服务器的路径            #print(app.config['UPLOAD_FOLDER'])            if not os.path.exists(app.config['UPLOAD_FOLDER']):            #如果路径不存在则创建                os.makedirs(app.config['UPLOAD_FOLDER'])            upload_file_name = os.path.join(app.config['UPLOAD_FOLDER'],f.filename)  #上传的文件保存的名称,如果这里用secure_filename函数,对于中文文件,最后只保存为k后缀名            #print(secure_filename(f.filename))            f.save(upload_file_name)            flash("文件上传成功", 'ok')            return redirect(url_for('upload'))        flash("文件上传失败,无效的格式 %s" % f.filename.rsplit('.', 1)[1],'err')        return redirect(url_for('upload'))    return render_template('upload.html')if __name__ == '__main__':    app.run(debug=True)

 

upload.html

    

文件上传示例

{
% for v in get_flashed_messages(category_filter=['err']) %}

{

{ v }}

{
% endfor %} {
% for v in get_flashed_messages(category_filter=['ok']) %}

{

{ v }}

{
% endfor %}

 

转载于:https://www.cnblogs.com/FRESHMANS/p/8556923.html

你可能感兴趣的文章
小技巧
查看>>
深度学习图像配准 Image Registration: From SIFT to Deep Learning
查看>>
可分离卷积详解及计算量 Basic Introduction to Separable Convolutions
查看>>
CNN中各类卷积总结:残差、shuffle、空洞卷积、变形卷积核、可分离卷积等
查看>>
Mean Average Precision(mAP),Precision,Recall,Accuracy,F1_score,PR曲线、ROC曲线,AUC值,决定系数R^2 的含义与计算...
查看>>
win7 能ping通dns, 但无法解析域名
查看>>
centos 软件安装包下载网站
查看>>
nmap 端口扫描工具
查看>>
Excel vlookup筛选两列的重复项
查看>>
配置了BFD MAD, 在IRF正常情况下的 BFD状态是不是 down?
查看>>
SQL server 2012定期的备份数据库--完整+差异+事物
查看>>
C语言 - 可变参数再stm32中的应用
查看>>
vscode + platformIO开发stm32f4
查看>>
最新SSM框架整合2019
查看>>
LinkedList的线程安全解决办法
查看>>
eclipse调整控制台长度
查看>>
jsonp和ajax
查看>>
EAS 之F7控件实现多选择并保存
查看>>
eas之获取集合
查看>>
eas之单据删除代码
查看>>