Flask入门之上传文件到服务器

时间:2024-03-23 18:43:43

本文转载自:https://www.cnblogs.com/wongbingming/p/6802660.html

今天要做一个简单的页面,可以实现将文件 上传到服务器(保存在指定文件夹)

#Sample.py

 

Flask入门之上传文件到服务器

 1 # coding:utf-8
 2 
 3 from flask import Flask,render_template,request,redirect,url_for
 4 from werkzeug.utils import secure_filename
 5 import os
 6 
 7 app = Flask(__name__)
 8 
 9 @app.route('/upload', methods=['POST', 'GET'])
10 def upload():
11     if request.method == 'POST':
12         f = request.files['file']
13         basepath = os.path.dirname(__file__)  # 当前文件所在路径
14         upload_path = os.path.join(basepath, 'static\uploads',secure_filename(f.filename))  #注意:没有的文件夹一定要先创建,不然会提示没有该路径
15         f.save(upload_path)
16         return redirect(url_for('upload'))
17     return render_template('upload.html')
18 
19 if __name__ == '__main__':
20     app.run(debug=True)

Flask入门之上传文件到服务器

 

#upload.html

 

Flask入门之上传文件到服务器

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8     <h1>文件上传示例</h1>
 9     <form action="" enctype='multipart/form-data' method='POST'>
10         <input type="file" name="file">
11         <input type="submit" value="上传">
12     </form>
13 </body>
14 </html>

Flask入门之上传文件到服务器

 

这里要注意:<form>标签里的enctype属性一定要填写'multipart/form-data'

意思是不加密,上传文件的时候一定要选这个,不然不行

好了接下来我们看看运行效果

1. 初始界面

Flask入门之上传文件到服务器

2. 选择一个文件,点击上传

Flask入门之上传文件到服务器

 

 

 3. 最后网页会回到初始界面,然后上传的文件,也保存在我们指定的目录上了

Flask入门之上传文件到服务器

 

至此,项目结束@@