以下是一个 Python web 应用程序中支持多个不同类型文件分别下载的代码示例:

import os
from flask import Flask, request, send_from_directory

app = Flask(__name__)

@app.route('/download/<filename>')
def download_file(filename):
    # 检查文件类型并设置相应的下载目录
    if filename.endswith('.pdf'):
        directory = 'pdf'
    elif filename.endswith('.docx'):
        directory = 'docx'
    elif filename.endswith('.xlsx'):
        directory = 'xlsx'
    else:
        return 'Invalid file type'

    # 设置下载路径
    download_path = os.path.join(app.root_path, 'downloads', directory)

    # 检查文件是否存在于下载目录中
    if not os.path.exists(os.path.join(download_path, filename)):
        return 'File not found'

    # 发送文件给客户端
    return send_from_directory(download_path, filename, as_attachment=True)

if __name__ == '__main__':
    app.run(debug=True)

在这个应用程序中,我们使用了 Flask 框架来设置路由并处理文件下载请求。我们定义了一个 /download/<filename> 的路由,其中 <filename> 是要下载的文件的名称。在路由函数中,我们首先检查文件类型,然后设置下载目录。然后,我们检查文件是否存在于下载目录中,如果存在,我们使用 Flask 的 send_from_directory 函数将文件发送给客户端。如果文件不存在,则返回错误消息。

在这个示例中,我们假设文件被分为三个类型:PDF、DOCX 和 XLSX。我们将这些文件类型存储在不同的目录中,例如 downloads/pdf/downloads/docx/downloads/xlsx/。您可以根据需要更改文件类型和下载目录。

请注意,这个示例中的路由函数只是一个简单的示例。您可以根据您的实际需求进行更改和扩展。

Python Flask 多文件类型下载示例 - 如何在 Web 应用程序中支持不同文件类型的下载

原文地址: https://www.cveoy.top/t/topic/nJxr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录