Flask - 文件上传

Flask - 文件上传 首页 / Flask入门教程 / Flask - 文件上传

在Flask中处理文件上传非常容易,它需要将HTML 表单的enctype属性设置为" multipart/form-data",URL处理程序从 request.files[] 对象获取文件信息,并将其保存到所需位置。

首先将每个上载的文件保存在服务器上的临时位置,然后再保存到其最终位置,目标文件的名称可以是硬编码的,也可以从 request.files [file] 对象的filename属性中获取。但是,建议使用 secure_filename()函数获取其安全版本。

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

app.config ['UPLOAD_FOLDER']定义上传文件夹的路径
app.config ['MAX_CONTENT_PATH']指定要上传的文件的最大大小-以字节为单位

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

" upload.html" 具有文件selector按钮和提交按钮。

无涯教程网

<html>
   <body>
      <form action="http://localhost:5000/uploader" method="POST" 
         enctype="multipart/form-data">
         <input type="file" name="file" />
         <input type="submit"/>
      </form>
   </body>
</html>

您将看到如下所示的屏幕。

Flask File Uploading

选择文件后,点击提交。表单的post方法调用"/upload_file" URL。基础函数 uploader()执行保存操作。

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

from flask import Flask, render_template, request
from werkzeug import secure_filename
app=Flask(__name__)

@app.route('/upload')
def upload_file():
   return render_template('upload.html')
	
@app.route('/uploader', methods=['GET', 'POST'])
def upload_file():
   if request.method == 'POST':
      f=request.files['file']
      f.save(secure_filename(f.filename))
      return 'file uploaded successfully'
		
if __name__ == '__main__':
   app.run(debug=True)

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

重学前端 -〔程劭非(winter)〕

Linux实战技能100讲 -〔尹会生〕

人人都能学会的编程入门课 -〔胡光〕

.NET Core开发实战 -〔肖伟宇〕

小马哥讲Spring AOP编程思想 -〔小马哥〕

Spark性能调优实战 -〔吴磊〕

高楼的性能工程实战课 -〔高楼〕

零基础实战机器学习 -〔黄佳〕

手把手带你搭建推荐系统 -〔黄鸿波〕

好记忆不如烂笔头。留下您的足迹吧 :)