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 =