python flask文件上传封装

用Flask把Python自动化脚本变成可收费的Web服务 Python自动化是提升办公效率的基础能力,其核心原理在于将重复性任务封装为可复用的逻辑单元;Flask作为轻量级Web框架,凭借极简路由、同步执行和零强制依赖的特性,成为实现‘自动化接口化’的理想载体——它不追求高并发或复杂生态,而是专注将.py脚本转化为非技术人员可操作的网页服务,从而跨越技术价值与商业变现之间的鸿沟;典型应用场景包括Excel处理、PDF生成、邮件通知等中小规模办公流水线;本文围绕Python自动化和Flask两大热词,详解如何从周末原型起步,构建稳定、安全、易交付的轻量级Web服务。 阅读详情

1.创建utils文件夹 在utils文件夹下创建myfile.py

# coding=gbk


import os
import uuid
import shutil


class MyFile():
    def __init__(self, upload_dir='./static/upload/'):
        self.up_dir = upload_dir

    # 创建文件夹
    def mk_dir(self, userid):
        # 判断文件夹是否存在 不存在创建
        path = self.up_dir + str(userid) + '/'
        if not os.path.exists(path):
            # 如果该用户文件夹不存在 则创建文件夹
            os.mkdir(path)
    # 重命名
    def rename(self,filename):
        name = os.path.splitext(filename)[1]
        fname = uuid.uuid4().hex + name
        return fname

    # 删除目录及文件
    def remove_file(self, userid):
        path = self.up_dir + str(userid) + '/'
        # 判断文件夹是否存在
        if os.path.exists(path):
            # 存在删除文件夹及下面所有文件
            shutil.rmtree(path)

    # 删除整个目录
    def remove_dir(self, userid):
        os.rmdir(self.up_dir + str(userid))  # 只能删除为空得文件夹

    # 查看文件
    def list_file(self, id):
        list = []
        mylist = os.listdir(self.up_dir + str(id))
        for i in mylist:
            list.append(i)
        return list

mf = MyFile()

2.蓝图接口

from utils.myfile import mf
# 记得注册蓝图
@bp_workf.route('/upload/', methods=['POST'])
def upload():
    file = request.files['file']
    wid = int(request.form.get('id'))

    # 文件重命名
    newfile = mf.rename(file.filename)
    path = './static/upload/' + str(wid)
    if not os.path.exists(path):  # 文件路径不存在
        # 根据工作流id 创建文件夹
        mf.mk_dir(wid)
    # 保存
    try:
        file.save(os.path.join(path, newfile))
        # osfile
        path1 = '/static/upload/' + str(wid)
        return jsonify({'code': 200, 'msg': '证件上传成功', 'newfile': path1 + '/' + newfile})
    except:
        return jsonify({'code': 200, 'msg': '证件上传失败', })

3.vue前端页面


<template>
    <div>
        头像展示<van-image
        round
        width="20rem"
        height="20rem"
        :src="url"
        /> <br/>   
        头像上传<van-uploader :after-read="afterRead" />
        多文件上传
        <van-uploader v-model="fileList" multiple :max-count="3" :after-read="afterReadmul"/>


        <p>手机号{{mobile | mobilefilter}}</p>

        
    </div>
    
</template>


<script>
 
export default {
    data(){
        return{
            mobile:'18595604641',
            userid : localStorage.getItem('userid'),
            url:'',
            fileList:[],
        }
    },
    //定义过滤器
    filters:{
        mobilefilter(value){
            return value.slice(0,3)+'******'+value.slice(-3,-1)
        }
    },
    methods: {
        // 点击头像上传单文件
        afterRead:function(file){
            // 此时可以自行将文件上传至服务器
            let data = new FormData()
            data.append('file',file.file)
            data.append('userid',this.userid)

            this.axios.post('后端url路径',data)
            .then(res=>{
                //更新展示图片
                // alert(this.upload_dir)
                this.url =  this.upload_dir +this.userid +'/'+ res.data.filename
            })
        },

        afterReadmul:function(){
            //遍历列表 filelist 
            for (var i=0;i<this.fileList.length;i++){
                // console.log(this.fileList[i])
                var file = this.fileList[i]
                // 调用上面上传单个文件接口
                this.afterRead(file)
            }
        },



    },


</script>

Python+Flask副业实战:从周末脚本到稳定现金流 Flask作为轻量级Web框架,本质是为Python自动化能力提供可交付接口,其核心价值不在于功能丰富性,而在于极低的启动与维护成本。理解Flask的‘责任转移’设计哲学,有助于开发者聚焦业务闭环而非技术堆砌;结合SQLite、APScheduler和HTMX等够用即止的技术组合,能快速构建符合真实用户场景(如财务辅助、内容增效、流程衔接)的最小可行产品。尤其适合具备基础Python能力、时间碎片化的职场人,通过验证可量化重复劳动的自动化价值,实现从脚本到收费服务的跃迁。 阅读详情

相关推荐

python自动交易 缠论_缠论自动交易系统实现了

一、缘起:缠中说禅的伟大,我想你只要上网搜索一下就知道了,他的才气不用我说,我只想说说他的《教你炒股票》系列文章,108篇文章,将他的股票操盘秘籍全部公开给广大的股友了,更有缠友将其理论写成公式,在网上也是广为流传,深受广大缠友们的喜爱。我也是缠中说禅的忠实崇拜者之一,从2008年开始每天都使用缠论来看盘,特别想将缠论写成交易系统,让计算加来帮助我们自动交易,从而减轻我们盯盘的辛劳,可是苦于没有好...

weixin_39970689的博客 4646

Python flask框架直接读取前端上传的文件内容

项目需求为:前端上传txt文件,后端分析文本内容返回结果 1. flask中的FileStorage对象 在使用flask框架写后端时,前端向后端上传文件,文件到后端时,会被以stream的方式作为临时文件缓存在内存中,即为FileStorage对象。 2. 如何获取文件内容 2.1 直接保存 @app.route("/file", methods=['GET', 'POST']) def getFile(): fileStorage = request.files['file'] file

CSN-001的博客 6702

第5.1节 构网控制:电压源特性与电压调节

摘要: 构网型变流器的核心物理本质是作为可控交流电压源,通过戴维南等效模型(受控电势源+低输出阻抗)自主建立并调节电压,增强电网电压刚度。其电压调节通过无功-电压闭环控制实现,内环为自动电压调节器(AVR),外环为无功-电压下垂特性,模拟同步发电机功能。关键技术包括自适应增益、虚拟阻抗补偿及动态限流策略,以应对弱电网稳定性、故障过流等问题。该设计满足《规范》对电压调节范围、动态无功支撑的要求,是高比例新能源电力系统电压稳定的关键解决方案。

技术工作者 1110

Python接口自动化之文件上传/下载接口详解

如果需要发送文件到服务器,例如:上传文档、图片、视频等,就需要发送二进制数据,上传文件一般使用的都是 Content-Type: multipart/form-data 数据类型,可以发送文件,也可以发送相关的消息体数据。

软件测试小dao 2860

基于STM32F407VET6的智能巡检小车灰度循迹系统优化设计

本文详细介绍了基于STM32F407VET6主控芯片的智能巡检小车灰度循迹系统优化设计。通过将传感器输出从数字量升级为模拟量以获取更丰富的路面信息,并采用PD控制算法结合速度管理策略,有效提升了小车在复杂弯道上的循迹稳定性与适应性。文章分享了硬件电路抗干扰设计、软件滤波及实战调优经验,为嵌入式开发者提供了从“能跑”到“跑得稳”的系统性解决方案。

weixin_28273593的博客 444

VFIO框架源码分析(二十二)- IOMMUFD 的脏页跟踪与 Dirty Bits 读取

在虚拟化热迁移(Live Migration)的场景中,脏页追踪(Dirty Page Tracking)是最具挑战性的环节之一。它的核心任务是实时捕获设备(DMA)对内存的写操作,以便 VMM(如 QEMU)知道哪些内存页需要被重新传输到目标主机。在强耦合与粗粒度:脏页追踪是绑定在 Container 上的。这意味着,如果一个 Container 内有多个设备,哪怕只有一个设备在写内存,脏页追踪也会影响 Container 内的所有设备。软件模拟开销大。

qq_36071928的博客 1046

python 实现阿里云OSS文件上传

python实现阿里云OSS文件上传

weixin_37985149的博客 2221

别再手动发通知了!用Python+飞书机器人,5分钟搞定自动化消息推送(附完整代码)

本文详细介绍了如何利用Python和飞书机器人实现自动化消息推送,大幅提升工作效率。通过Webhook调用和Python脚本,可以轻松发送告警、日报等各类消息,并与业务系统深度集成。文章还提供了完整代码示例和避坑指南,帮助开发者快速上手。

weixin_28736335的博客 308

flask中上传用户头像实现代码

记录的是python中flask图片上传

qq_25861247的博客 574

告警不是闹钟:AI 如何把告警过滤成真正的“求救信号”?

告警不是闹钟:AI 如何把告警过滤成真正的“求救信号”?

Echo_Wish 242

【ARM CoreLink 系列 7 -- TZC-400控制器简介】

为了确保内存能够正确识别总线的信号控制位,新增一个TrustZone地址空间控制器(TrustZone Address Space Controller,TZASC)组件来实现对内存地址的安全扩展,将内存区域划分为安全内存区域和非安全内存区域,安全世界可以访问安全内存和非安全内存,而普通世界只能访问非安全内存,如下图所示:图 1-1内存区域的划分是在系统启动时通过配置 TZASC 组件(TZC-400/TZC-380)来实现的。TZC-400由和使能情况;安全访问权限;Base地址;

CodingCos的博客 1634

【Python】Web学习笔记_flask(3)——上传文件

需要定义几个函数: upload():路由函数,接收GET请求时,显示模板文件内容,接收post请求时,上传图片 allowed_file():检测上传的文件是否满足设置的类型 random_file():为上传的文件重新创建随机的不重复文件名 uploaded_file():显示图片内容

weixin_39407597的博客 1991

【Bug已解决】zsh: command not found: claude 解决方案

方案适用场景推荐指数难度方案一:配置 npm 全局目录所有平台,长期使用⭐⭐⭐⭐⭐低方案二:修复 PATH 变量快速修复,不想改 npm 配置⭐⭐⭐⭐低方案三:重建软链接文件存在但链接断裂⭐⭐⭐中方案四:nvm 专属方案使用 nvm 管理多版本 Node.js⭐⭐⭐⭐低方案五:Windows 专属Windows 系统⭐⭐⭐⭐⭐低方案六:Homebrew 安装macOS 用户,npm 有问题⭐⭐⭐低根本原因。

博客 1万+

API接口简单使用(二):Python中使用Flask(接口封装整理版,含文件上传接口的详细实现)

本文对Python中使用Flask封装网络接口的几种情况进行了整理,并进行了详细的文件上传API接口的实现。可以使用HTML/Postman的方式进行文件参数的上传,测试网络接口获取上传文件的类型。

积累,沉淀,温故而知新 4126

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

用 Flask 3 分钟把 Python 脚本变成 Web 服务

上篇文章《用 Python 3 行代码做 AI 抠图》发出后,有朋友问:怎么让别人也能用,而不是每次都要在命令行跑脚本?答案很简单:用 Flask 包一层接口,让它变成 Web 服务。Flask 是 Python 里最轻量的 Web 框架,学 30 分钟就能上手。篇内容字数第 1 篇3 行代码调百度 API~2000 字第 2 篇完整可运行抠图脚本~3000 字第 3 篇用 Flask 变 Web 服务~1500 字三篇打通 = 从"会用 API"到"能交付产品"。

qy_cai的博客 300

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

构建Web API第一步:用Flask封装万物识别模型

本文介绍了如何在星图GPU平台上自动化部署万物识别-中文-通用领域镜像,快速构建图像识别Web API。通过Flask封装,支持图片上传与自定义中文提示词,典型应用于电商商品图自动打标、内容审核等场景,实现开箱即用的多类别视觉理解能力。

weixin_29997223的博客 112

Flask轻量API封装Python自动化:职场人副业实战指南

Python自动化是提升办公效率的核心能力,其本质在于将重复性高、规则明确的手动操作(如Excel处理、PDF提取、Word模板填充)转化为可复用的程序逻辑。Flask作为微框架,凭借极简架构、精准请求控制和原生Python生态兼容性,成为封装自动化能力的理想接口层——它不追求功能完备,而专注构建‘上传→处理→下载’这一最小可用交互闭环。相比Django的重型抽象或FastAPI的异步冗余,Flask让非技术用户也能零门槛调用Python生产力,特别适合行政、法务、财务等岗位将日常脚本升级为可交付、可收费的

weixin_33502772的博客 354

CosyVoice3支持RESTful API吗?可自行封装提供HTTP接口

阿里开源的CosyVoice3虽无原生REST API,但其模块化设计允许开发者通过FastAPI或Flask将其封装为标准HTTP服务。借助音频上传、文本输入与参数控制,可实现远程语音合成调用,适用于智能客服、有声书生成等场景,真正将模型能力服务化。

weixin_26907223的博客 630

DamoFD人脸检测教程:Python API封装+Flask接口+前端HTML实时演示

恭喜!你已经成功搭建了一个完整的人脸检测Web应用。Python API封装:将原始的DamoFD模型封装成易于使用的Python类Flask Web服务:创建了RESTful API接口,支持URL检测、文件上传和批量处理前端交互界面:开发了美观易用的Web界面,提供实时预览和详细结果展示模块化设计:每个部分都可以独立使用或替换易于扩展:可以轻松添加新功能或集成到其他系统中用户友好:即使不懂技术的人也能使用这个人脸检测功能。

weixin_42355400的博客 327

GLM-TTS支持REST API吗?Flask封装实战教程

本文介绍了如何在星图GPU平台上自动化部署GLM-TTS智谱开源的AI文本转语音模型镜像,并通过Flask框架将其封装为REST API服务。该服务使得用户能够通过网络请求轻松调用语音合成能力,典型应用场景包括为智能客服、有声内容制作或应用程序快速添加语音播报功能。

weixin_33562004的博客 725

基于Python与Flask的粤语歌词谐音转换工具开发实践

文本处理是自然语言处理(NLP)领域的基础技术,其核心原理在于通过规则或模型对字符序列进行解析、转换与映射。这项技术的价值在于能够自动化地处理海量文本信息,提升信息利用效率。在工程实践中,结合Web框架可以快速构建轻量级应用,实现文本处理服务的API化与可视化。例如,在语言学习辅助场景中,通过构建谐音映射规则,可以将目标语言(如粤语)歌词转换为用户熟悉的发音文本(如普通话谐音),从而降低学习门槛。本文聚焦于这一具体应用,详细介绍了如何利用Python脚本进行歌词解析与谐音规则匹配,并借助Flask框架搭建一

weixin_29698641的博客 326

GLM-4.7-Flash代码实例:Flask封装API支持文件上传(PDF/DOCX)并提取核心内容

本文介绍了如何在星图GPU平台上自动化部署GLM-4.7-Flash镜像,并基于此构建一个实用的文档智能处理应用。通过Flask框架封装API,该应用支持上传PDF/DOCX文件,并利用GLM-4.7-Flash模型自动提取文档的核心内容与摘要,显著提升信息处理效率。

weixin_35950531的博客 382

DeepSeek-OCR企业集成:Python SDK封装+Flask API服务封装教程

本文介绍了如何在星图GPU平台上自动化部署🏮 DeepSeek-OCR · 万象识界镜像,实现企业级文档OCR识别与处理。通过封装Python SDK和Flask API服务,用户可快速集成高精度文字提取能力,适用于合同扫描、财务报表识别等企业文档数字化场景,提升信息处理效率。

weixin_42590539的博客 198

python | werkzeug,一个不可思议的 Python 库!

Werkzeug是一个全面的WSGI(Web服务器网关接口)工具库,最初由Armin Ronacher开发,现已成为Python Web开发中不可或缺的基础组件。作为Flask框架的核心依赖,Werkzeug提供了构建Web应用所需的大量底层功能,包括请求和响应对象的封装、URL路由、开发服务器等核心特性。它的设计理念是提供灵活且模块化的工具集,让开发者能够构建出高质量的Web应用。

csdn_xmj的博客 1515

YOLOv12部署实战:Flask Web API快速搭建教程

本文介绍了如何在星图GPU平台上自动化部署YOLOv12目标检测镜像,快速构建Flask Web API服务。该镜像能够实现高效的目标检测功能,典型应用于智能安防监控、实时视频分析等场景,为用户提供便捷的AI模型部署和调用解决方案。

weixin_36184718的博客 146

SenseVoice Small代码实例:Python API调用+REST接口封装方法

本文介绍了如何在星图GPU平台上自动化部署SenseVoice Small镜像,快速构建语音转文字服务。该镜像基于阿里通义千问模型,支持多语言识别,可应用于会议录音转写、视频字幕生成等场景,显著提升音频内容处理效率。

weixin_42452924的博客 89
上一篇: python Django Vue3 使用websockert 实现Echarts实时更新
下一篇: Flask日志
焦长豪的技术博客
博客等级 码龄5年 13粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值