当前位置: 首页 > news >正文

Flask + ajax上传文件(二)--多文件上传

Flask多文件上传完整教程

本教程将详细介绍如何使用Flask实现多文件上传功能,并使用时间戳为上传文件自动命名,避免文件名冲突。

一、环境准备

确保已安装Python和Flask

pip install flask

项目结构

flask_upload/
├── app.py
├── upload/                # 上传文件保存目录
└── templates/└── index.html         # 前端页面
└── static/├── js/                # jQuery等JS文件└── css/               # CSS样式文件

二、后端实现 (app.py)

1. 基础配置

import os
import json
from flask import Flask, render_template, request, Response
from datetime import datetimeapp = Flask(__name__)
app.config['UPLOAD_FOLDER'] = 'upload'
os.makedirs(app.config['UPLOAD_FOLDER'], exist_ok=True)

2. 时间戳文件名生成函数

def generate_timestamp_filename(original_filename):"""生成基于时间戳的文件名"""# 获取文件扩展名ext = os.path.splitext(original_filename)[1]# 生成时间戳格式:YYYYMMDD_HHMMSS_SSS(精确到毫秒)timestamp = datetime.now().strftime("%Y%m%d_%H%M%S_%f")[:-3]return f"upload_{timestamp}{ext}"

文件名示例upload_20230815_143045_123.jpg

3. 多文件上传路由

@app.route('/upload_mutli_file', methods=['POST'])
def upload_mutli_file():try:# 获取上传的文件列表uploaded_files = request.files.getlist('upload_files[]')saved_files = 
http://www.xdnf.cn/news/110539.html

相关文章:

  • 从入门到精通【MySQL】视图与用户权限管理
  • 使用RabbitMQ实现判题功能
  • 切割PDF使用python,库PyPDF2
  • 大学生如何学好人工智能
  • 代码注释标记的含义
  • Spring Cloud Alibaba VS Spring Cloud
  • 安宝特案例 | AR技术在院外心脏骤停急救中的革命性应用
  • GPLT-2025年第十届团体程序设计天梯赛总决赛题解(2025天梯赛题解,266分)
  • Linux:环境变量
  • Java基础复习(JavaSE进阶)第九章 网络编程
  • 基于 Vue 2 开发的分页卡片列表组件(带懒加载和点击事件)
  • [特殊字符] 分布式事务中,@GlobalTransactional 与 @Transactional 到底怎么配合用?
  • Python爬虫实战:获取xie程网敦煌景点数据,为51旅游路线做参考
  • Python实现图片浏览器
  • 连锁美业管理系统「数据分析」的重要作用分析︳博弈美业系统疗愈系统分享
  • 使用 Python 打造强大的文件分析工具
  • 海量粒子特效解决方案:VEG
  • java六人打分
  • 高效并发编程:无锁编程
  • 字节系a_bogus补环境
  • 浏览器相关知识点
  • 路由交换实验-手动聚合与LACP
  • 自动创建 中国古代故事人物一致性图画,看看扣子的空间是否能达到你的满意,自媒体的福音?
  • 【KWDB 创作者计划】_上位机知识篇---MicroPython
  • 一,开发环境安装
  • w~大模型~合集13
  • AUTODL关闭了程序内存依然占满怎么办
  • 〖 Linux 〗掌握 Linux 共享目录:权限、管理与最佳实践
  • 防火墙事件日志及日志分析
  • Python数据清洗笔记(上)