from flask import Flask, send_from_directory, render_template, jsonify import os app = Flask(__name__) # 静态文件主目录 #loc #STATIC_DIR = "/Users/zgz/Documents/images/share/bak" #server STATIC_DIR = "/mnt/sssss" # 支持的文件类型 IMAGE_EXTENSIONS = {".jpg", ".jpeg", ".png", ".gif", ".JPG", ".JPEG", ".PNG", ".GIF"} VIDEO_EXTENSIONS = {".mp4", ".avi", ".mov", ".wmv", ".m4v", ".mpg"} # 递归获取目录中的所有文件 def get_files(directory): files = [] for root, _, filenames in os.walk(directory): for filename in filenames: ext = os.path.splitext(filename)[1].lower() if ext in IMAGE_EXTENSIONS or ext in VIDEO_EXTENSIONS: relative_path = os.path.relpath(os.path.join(root, filename), STATIC_DIR) files.append(relative_path) return files @app.route('/') def index(): files = get_files(STATIC_DIR) return render_template('index.html', files=files) @app.route('/media/') def media(filename): # 返回静态文件(支持子目录) return send_from_directory(STATIC_DIR, filename) if __name__ == '__main__': app.run(host='0.0.0.0', port=8208)