flask之文件上传

1、创建表单提交页面,如:upload.html

<html>
<head><title>File Upload</title>
</head>
<body><form action="http://localhost:8888/uploadfile" method="POST" enctype="multipart/form-data"><input type="file" name="file001"  /><input type="submit" value="提交" /></form>
</body>
</html>

2、url地址关联表单提交页面

@app.route('/upload')
def uploadFile():return render_template('upload.html')

3、提交表单后定义执行保存的函数

@app.route('/uploadfile',methods=['GET','POST'])
def save():if request.method == 'POST':f = request.files['file001'] #提取文件f.save(os.path.join(app.config['UPLOAD_FOLDER'], secure_filename(f.filename)))

4、完整演示代码

from flask import Flask, render_template, request
from werkzeug.utils import secure_filenameimport osapp = Flask(__name__)
app.config['UPLOAD_FOLDER'] = 'upload/'   #app.config['UPLOAD_FOLDER'] 定义上传文件夹的路径 @app.route('/upload')
def uploadFile():return render_template('upload.html')@app.route('/uploadfile',methods=['GET','POST'])
def save():if request.method == 'POST':f = request.files['file001'] #提取文件f.save(os.path.join(app.config['UPLOAD_FOLDER'], secure_filename(f.filename)))  #保存文件,目标文件的名称可以是硬编码的,也可以从 ​request.files[file] ​对象的​ filename ​属性中获取。但是,建议使用 ​secure_filename()​ 函数获取它的安全版本。return 'file uploaded successfully'else:return render_template('upload.html')if __name__ == '__main__':app.run(debug=True)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/214017.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自定义类型详解(1)

文章目录 目录1. 结构体1.1 结构的基础知识1.2 结构的声明1.3 特殊的声明1.4 结构的自引用1.5 结构体变量的定义和初始化1.6 结构体内存对齐1.7 修改默认对齐数1.8 结构体传参 2. 位段2.1 什么是位段2.2 位段的内存分配2.3 位段的跨平台问题2.4 位段的应用 3. 枚举3.1 枚举类型…

linux向日葵开机自启动

有个服务需要先开启: sudo systemctl start runsunloginclient.service 开机自启动服务: sudo systemctl enable runsunloginclient.service 然后再启动就可以了 sudo systemctl status runsunloginclient.service 开机自启后进行检查service服务状态 开发板ubuntu系统上如…

虾皮选品:如何在虾皮平台上进行选品以提高销售额和利润

在虾皮&#xff08;Shopee&#xff09;平台上进行选品时&#xff0c;可以遵循以下策略和技巧&#xff0c;以便找到有潜力的产品并提高销售额。 先给大家推荐一款shopee知虾数据运营工具 知虾免费体验地址&#xff08;复制浏览器打开&#xff09;&#xff1a;d.ddqbt.com/JU5o …

Java并发(二)

一、并发编程三要素 1、原子性 原子性指的是一个或者多个操作&#xff0c;要么全部执行并且在执行的过程中不被其他操作打断&#xff0c;要么就全部都不执行。 2、可见性 可见性指多个线程操作一个共享变量时&#xff0c;其中一个线程对变量进行修改后&#xff0c;其他线程可以…

亚信安慧通过ISO20000认证,AntDB数据库团队服务能力再上新台阶

近日&#xff0c;湖南亚信安慧科技有限公司&#xff08;简称“亚信安慧”&#xff09;获得《信息安全管理服务管理体系认证证书》&#xff0c;标志着公司已建立起一套与国际对标的IT系统管理体系&#xff0c;在信息技术服务能力上取得了新的里程碑。 图1 亚信安慧通过ISO20000认…

【Unity】Addressable包资源加载失败:CRC Mismatch.

Error while downloading Asset Bundle: CRC Mismatch. 是资源下载校验失败&#xff0c;但是资源和上次打包的资源是一样的。没有排查到原因&#xff0c;在谷歌搜索后看到 大概就是指Unity版本修改后打包&#xff0c;会破坏原来的CRC信息&#xff0c;导致导报出来的资源无法通…

软件测试BUG管理神器——禅道

背景与用途 使用背景 针对开发的产品进行BUG质量管理&#xff0c;通过需求、任务、bug来进行交相互动&#xff0c;终通过项目拿到合格的产品&#xff01; 场景介绍 测试人员提出bug -> 开发人员解决bug -> 测试人员验证关闭 下载安装 一、搜索禅道官网 1.1在浏览器搜索…

Boost:asio单io_service,多线程run

io_service相当于注册异步回调的一个上下文环境,而run相当于处理异步io的上下文(通常是一个线程)。 单io_service,多线程run,相当于多个线程同时来处理注册在一个io_service上的回调: //sio_mth.cpp #include <boost/asio.hpp> #include <boost/date_time/pos…

Java集合进阶

目录 集合体系结构 Collection集合 List集合 ArrayList集合 LinkedList集合 集合体系结构 注意:有序:存进去的数组和取出来时一样 而不是大小的那种有序 Collection集合 单列集合顶层接口Collection import java.util.ArrayList; import java.util.Collection;public cl…

外贸获客怎么做?有哪些技巧?

外贸获客是许多企业拓展海外市场的关键一环&#xff0c;为了成功地吸引潜在客户&#xff0c;我们需要了解一些基本的获客技巧&#xff0c;本文将分享一些实用的方法和技巧&#xff0c;帮助您在外贸领域获得更多的客户。 一、了解目标客户 在开展外贸业务之前&#xff0c;了解…

java Optional类

Java 8 引入的 Optional 类,主要解决的问题是空指针异常&#xff08;NullPointerException&#xff09; 返回值/修饰符方法详细static Optionalempty() 返回一个空的 Optional实例。Optional<String> stringOptional Optional.empty();booleanequals(Object obj) 判断…

IO流的使用(四)

对象序列化机制 概念&#xff1a;允许把内存中的Java对象转换成与平台无关的二进制流&#xff0c;从而允许把这种二进制流持久地保存在磁盘上&#xff0c;或通过网络将这种二进制流传输到另一个网络节点&#xff1b;当其它程序取了这种二进制流&#xff0c;就可恢复成原来的Ja…

C# OpenCvSharp DNN 部署YOLOV6目标检测

目录 效果 模型信息 项目 代码 下载 C# OpenCvSharp DNN 部署YOLOV6目标检测 效果 模型信息 Inputs ------------------------- name&#xff1a;image_arrays tensor&#xff1a;Float[1, 3, 640, 640] -------------------------------------------------------------…

一个不上进的爱好,让我走进了计算机世界

为什么当初选择计算机行业 当初选择计算机专业&#xff0c;真的就是觉得学习计算机专业&#xff0c;就可以经常接触计算机&#xff0c;可以有很多的机会可以玩游戏。 后来高考的时候&#xff0c;考试成绩也不理想&#xff0c;分数就不好意思说了。但是喜从天降&#xff0c;居…

Windows Terminal的半透明效果

打开Windows Terminal的半透明效果 最终实现效果&#xff1a; 系统&#xff1a;win11 23H2 步骤&#xff1a; 1.winx打开终端 2.右键打开设置 3.打开外观->亚克力材料开启 4.默认值->外观->透明度&#xff0c;按喜好选择即可

Linux+Moba+虚拟机

软件&#xff1a; VMware Workstation ProMobaXterm 简介 是一款由VMware公司开发的强大的虚拟机软件。它可以在单台物理计算机上创建、运行和管理多个虚拟机&#xff0c;每个虚拟机都可以独立运行不同的操作系统和应用程序。 功能&#xff1a; 虚拟化&#xff1a;能…

PPP协议概述与实验示例

PPP协议概述与实验示例 概述 PPP&#xff08;Point-to-Point Protocol&#xff09;是一种用于在点对点连接上传输多协议数据包的标准方法。它已经成为最广泛使用的互联网接入数据链路层协议&#xff0c;可以与各种技术结合&#xff0c;如ADSL、LAN等&#xff0c;实现宽带接入…

如何通过内网穿透工具实现任意浏览器远程访问Linux本地zabbix web管理界面

前言 Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。能监视各种网络参数&#xff0c;保证服务器系统的安全运营&#xff1b;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 本地zabbix web管理界面限制在只能局域…

MyBatis-Plus - 论 1 个实体类被 N 个DAO 类绑定,导致 MP 特性(逻辑删)失效的解决方案

问题描述 最近遇到一个奇奇怪怪的问题&#xff0c;发现 Mybatis-Plus『逻辑删』特性失效&#xff0c;而且是偶现&#xff0c;有时候可以&#xff0c;有时候又不行。于是开启了 Debug Mybatis-Plus 源码之旅 原因分析 我们接下来重点关注 TableInfoHelper 类 /** Copyright (…

算法:两数之和(暴力解法和优化算法)

暴力解法&#xff1a;使用快慢指针解决&#xff0c;时间复杂度 O(n^2)&#xff0c;空间复杂度 O(n) /*** param {number[]} nums* param {number} target* return {number[]}*/ var twoSum function(nums, target) {let slow 0let fast 1// 如果慢指针没有超过nums边界就继…