创新互联Flask教程:Flask文件上传

在 Flask 中处理文件上传非常简单。它需要一个 HTML 表单,其 ​enctype​ 属性设置为“​multipart/form-data”​,将文件发布到 URL。

成都创新互联公司是一家集成都网站设计、网站建设、网站页面设计、网站优化SEO优化为一体的专业网站设计公司,已为成都等多地近百家企业提供网站建设服务。追求良好的浏览体验,以探求精品塑造与理念升华,设计最适合用户的网站页面。 合作只是第一步,服务才是根本,我们始终坚持讲诚信,负责任的原则,为您进行细心、贴心、认真的服务,与众多客户在蓬勃发展的市场环境中,互促共生。

URL 处理程序从 ​request.files[]​ 对象中提取文件,并将其保存到所需的位置。

每个上传的文件首先会保存在服务器上的临时位置,然后将其实际保存到它的最终位置。

目标文件的名称可以是硬编码的,也可以从 ​request.files[file] ​对象的​ filename ​属性中获取。

但是,建议使用 ​secure_filename()​ 函数获取它的安全版本。

可以在 Flask 对象的配置设置中定义默认上传文件夹的路径和上传文件的最大大小。

app.config['UPLOAD_FOLDER'] 定义上传文件夹的路径 

app.config['
MAX_CONTENT_LENGTH'] 指定要上传的文件的最大大小(以字节为单位)

以下代码具有 ​'/upload' ​URL 规则,该规则在 templates 文件夹中显示​ 'upload.html'​,以及 ​'/upload-file' ​URL 规则,用于调用 ​uploader() ​函数处理上传过程。

'upload.html' ​有一个文件选择器按钮和一个提交按钮。



  File Upload


    

您将看到如下所示的界面。

选择文件后,单击提交。

表单的​ post ​方法调用​ '/upload_file'​ URL。

底层函数 ​uploader()​ 执行保存操作。 

以下是 Flask 应用程序的 python 代码。

from flask import Flask, render_template, request

from werkzeug.utils import secure_filename

import os app = Flask(__name__) app.config['UPLOAD_FOLDER'] = 'upload/' @app.route('/upload') def upload_file():     return render_template('upload.html') @app.route('/uploader',methods=['GET','POST']) def uploader():     if request.method == 'POST':         f = request.files['file']
        print(request.files)

        f.save(os.path.join(app.config['UPLOAD_FOLDER'], secure_filename(f.filename)))

        return 'file uploaded successfully'

    else:

        return render_template('upload.html')

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

注意:app.config['UPLOAD_FOLDER'] = 'upload/'

upload 前面不能加“/”。 

上传成功会显示以下画面:

上次文件被放到根目录的 upload 文件夹下:

分享标题:创新互联Flask教程:Flask文件上传
分享路径:http://www.hantingmc.com/qtweb/news45/549145.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联