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()执行保存操作。

链接:https://www.learnfk.comhttps://www.learnfk.com/flask/flask-file-uploading.html

来源:LearnFk无涯教程网

以下是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)

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

技术教程推荐

Go语言核心36讲 -〔郝林〕

代码精进之路 -〔范学雷〕

算法面试通关40讲 -〔覃超〕

TensorFlow快速入门与实战 -〔彭靖田〕

Flutter核心技术与实战 -〔陈航〕

用户体验设计实战课 -〔相辉〕

搞定音频技术 -〔冯建元 〕

Python实战 · 从0到1搭建直播视频平台 -〔Barry〕

深入拆解消息队列47讲 -〔许文强〕

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