news 2026/7/26 15:50:20

Flask框架之上传文件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Flask框架之上传文件

代码

import os from flask import Flask, flash, request, redirect, url_for from werkzeug.utils import secure_filename UPLOAD_FOLDER = '/path/to/the/uploads' #文件存储目录 ALLOWED_EXTENSIONS = {'txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'} #允许上传文件类型(拓展名) app = Flask(__name__) app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER #配置 def allowed_file(filename): #检查上传文件的拓展名是否在ALLOWED_EXTENSIONS return '.' in filename and \ filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS @app.route('/', methods=['GET', 'POST']) def upload_file(): if request.method == 'POST': #检查是否有文件被上传 if 'file' not in request.files: flash('No file part')#闪现提示 return redirect(request.url)#重定向 file = request.files['file'] # if user does not select file, browser also # submit an empty part without filename if file.filename == '': flash('No selected file') return redirect(request.url)#重定向 if file and allowed_file(file.filename):#有合法文件 filename = secure_filename(file.filename) #secure_filename检查文件名 file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename)) return redirect(url_for('uploaded_file', filename=filename)) #重定向到uploaded_file/filename @app.route('/uploads/<filename>') def uploaded_file(filename):#传输文件 return send_from_directory(app.config['UPLOAD_FOLDER'], filename)

request属性及用途:

  1. request.dat:获取json请求体字符串
  2. request.form:获取表单请求体参数
  3. request.args:获取url参数
  4. request.method:区分GET/POST请求方法
  5. request.files:获取上传文件信息
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/26 15:48:37

FISCO-BCOS多机构联盟链环境搭建实战指南

1. 环境准备与基础概念 在开始搭建FISCO-BCOS多机构联盟链之前&#xff0c;我们需要先理解几个关键概念。联盟链是一种需要许可的区块链网络&#xff0c;参与者需要经过授权才能加入。FISCO-BCOS作为国产开源联盟链平台&#xff0c;特别适合金融、政务等对数据隐私要求高的场景…

作者头像 李华
网站建设 2026/7/14 14:34:39

HoRain云--Python连接MCPServer全指南

&#x1f3ac; HoRain 云小助手&#xff1a;个人主页 ⛺️生活的理想&#xff0c;就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站&#xff0c;性价比超高&#xff0c;大内存超划算&#xff01;忍不住分享一下给大家。点击跳转到网站。 目录 ⛳️ 推荐 …

作者头像 李华
网站建设 2026/7/14 14:34:42

MLIR多级中间表示:下一代编译器基础设施的终极指南

MLIR多级中间表示&#xff1a;下一代编译器基础设施的终极指南 【免费下载链接】llvm-project llvm-project - LLVM 项目是一个编译器和工具链技术的集合&#xff0c;用于构建中间表示(IR)、优化程序代码以及生成机器代码。 项目地址: https://gitcode.com/GitHub_Trending/l…

作者头像 李华
网站建设 2026/7/14 14:34:41

探索MS-DOS系统调用跟踪:终极调试与分析指南

探索MS-DOS系统调用跟踪&#xff1a;终极调试与分析指南 【免费下载链接】MS-DOS MS-DOS 1.25和2.0的原始源代码&#xff0c;供参考使用 项目地址: https://gitcode.com/GitHub_Trending/ms/MS-DOS MS-DOS作为早期个人计算机的标志性操作系统&#xff0c;其系统调用机制…

作者头像 李华
网站建设 2026/7/14 14:34:53

作用域与作用域链:JS的“找东西”逻辑,闭包到底是个啥?

为什么有的变量在函数里能用&#xff0c;在外面却报错&#xff1f;为什么循环里的i总是最后一个值&#xff1f;今天我们就来聊聊JavaScript的作用域和作用域链&#xff0c;顺便揭开闭包的神秘面纱。保证你看完之后&#xff0c;再也不用背面试题了。前言 想象一下这样的场景&…

作者头像 李华