Flask笔记之文件上传 File Uploads

    科技2026-06-10  1

    在 Flask 中处理文件上传是很容易的,只要确保在 HTML 表单中设置 enctype=“multipart/form-data” 属性。

    <form action="/pathtoupload" method="post" enctype="multipart/form-data"> <p><input type="file" name="filename"></p> <p><input type="submit" value="submit"></p> </form>

    上传的文件存储在内存中,可以通过请求对象 request 的 files 属性访问。

    f = requests.files['filename'];

    每一个上传的文件都存储在其字典中,表现为标准的 Python 文件 file 对象,比之多了一个保存文件 save() 的方法,用以将文件保存到文件系统中。

    f.save(pathtosave)

    一个文件上传的简单例子

    from flask import request @app.route('/upload', methods=['GET', 'POST']) def upload_file(): if request.method == 'POST': f = request.files['the_file'] f.save('/var/www/uploads/uploaded_file.txt')

    上传的文件的文件名在 filename 属性中

    filename = f.filename

    不过这个名字是系统外的,如果想要使用它,需要记住要使用 werkzeug 提供的 secure_filename 方法进行保存。

    from werkzeug.utils import secure_filename ... f.save('/var/www/uploads/' + secure_filename(f.filename))

    总结

    在 HTML 表单 form 中,设置 enctype=multipart/form-data 属性,并且添加 <input type=file> 标签。Flask 应用在 请求对象 request 中通过 files 字典访问文件。使用 save() 方法保存文件。
    Processed: 0.016, SQL: 10