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 datetime

app = 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 = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值