例如:简单的上传,需要将编码改为enctype="multipart/form-data
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>上传文件</title>
</head>
<body>
{{ msg }}<br>
{% if pic %}
<img src="/static/upload/{{ pic }}">
{% endif %}
{#文件上传编码格式 enctype="multipart/form-data"#}
<form action="/index" method="post" enctype="multipart/form-data">
用户名:<input type="text" name="username"><br>
头像:<input type="file" name="icons"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
页面:
设置想要上传到的路径
例:
@app.route('/index',methods=['GET','POST'])
def index():
if request.method=='GET':
return render_template('index.html')
else:
#用request获取表单中的文件和用户名
icons=request.files.get('icons')
username=request.form['username']
#设置要保存到的路径
UPLOAD_DIR='static/upload'
file_path=os.path.join(UPLOAD_DIR,icons.filename)
#把文件保存在指定路径
icons.save(file_path)
#保存到数据库
user=Users(name=username,pic=file_path)
db.session.add(user)
db.session.commit()
msg='上传成功'
return render_template('index.html',
例: