Python 从我的程序中删除了send_file()命令,但它仍然发送
我今天开始自学Flask,在我玩弄它的同时,我制作了一个下载文件的小程序,效果非常好Python 从我的程序中删除了send_file()命令,但它仍然发送,python,flask,Python,Flask,我今天开始自学Flask,在我玩弄它的同时,我制作了一个下载文件的小程序,效果非常好 @app.route('/download') def download(): path = "Path_to_my_file" return send_file(path, as_attachment=True) 现在我稍微修改了一下程序,删除了“send_file”函数并添加了一些其他命令。然而,当我试着运行程序时,下载仍然发生。我不知道为什么 我的代码: from
@app.route('/download')
def download():
path = "Path_to_my_file"
return send_file(path, as_attachment=True)
现在我稍微修改了一下程序,删除了“send_file”函数并添加了一些其他命令。然而,当我试着运行程序时,下载仍然发生。我不知道为什么
我的代码:
from flask import *
from flask_sqlalchemy import SQLAlchemy
from werkzeug.utils import secure_filename
import os
usera = ""
UPLOAD_FOLDER = 'I:/Python'
ALLOWED_EXTENSIONS = {'txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'}
app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
app.config ['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///downloads.sqlite3'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
user = db.Column(db.String)
download = db.column(db.String)
def allowed_file(filename):
return '.' in filename and \
filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
@app.route('/upload', methods=['GET', 'POST'])
def upload_file():
global usera, db
if request.method == 'POST':
# check if the post request has the file part
if 'file' not in request.files:
flash('No file part')
return redirect(request.url)
file = request.files['file']
# if user does not select file, browser also
# submit an empty part without filename
if file.filename == '':
flash('No selected file')
return redirect(request.url)
if file and allowed_file(file.filename):
filename = secure_filename(file.filename)
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
db.session.add(User(user = usera, download = filename))
return render_template('lol.html')
return '''
<!doctype html>
<title>Upload new File</title>
<h1>Upload new File</h1>
<form method=post enctype=multipart/form-data>
<input type=file name=file>
<input type=submit value=Upload>
</form>
'''
@app.route('/login',methods = ['POST', 'GET'])
def login():
global db, user
if request.method == 'POST':
usera = request.form['user']
return render_template('lol.html')
@app.route('/download')
def download():
path = "I:/Python/"
users = User.query.all()
return users
if __name__ == '__main__':
app.run(host='0.0.0.0')
从烧瓶导入*
从flask_sqlalchemy导入sqlalchemy
从werkzeug.utils导入安全文件名
导入操作系统
usera=“”
上传文件夹='I:/Python'
允许的_扩展={'txt','pdf','png','jpg','jpeg','gif'}
app=烧瓶(名称)
app.config['UPLOAD\u FOLDER']=UPLOAD\u FOLDER
app.config['SQLALCHEMY\u DATABASE\u URI']='sqlite:///downloads.sqlite3'
db=SQLAlchemy(应用程序)
类用户(db.Model):
id=db.Column(db.Integer,主键=True)
user=db.Column(db.String)
下载=db.column(db.String)
允许的def_文件(文件名):
在文件名和\
filename.rsplit('.',1)[1].lower()在允许的扩展名中
@app.route('/upload',methods=['GET','POST'])
def upload_文件():
全局用户
如果request.method==“POST”:
#检查post请求是否包含文件部分
如果“文件”不在request.files中:
闪存(“无文件部分”)
返回重定向(request.url)
file=request.files['file']
#如果用户未选择文件,则浏览器也会
#提交一个没有文件名的空部分
如果file.filename=='':
闪存('没有选定的文件')
返回重定向(request.url)
如果文件和允许的文件(file.filename):
filename=secure\u文件名(file.filename)
保存(os.path.join(app.config['UPLOAD\u FOLDER'],文件名))
db.session.add(User(User=usera,download=filename))
返回render_模板('lol.html')
返回“”'
上载新文件
上载新文件
'''
@app.route('/login',methods=['POST','GET'])
def login():
全局数据库,用户
如果request.method==“POST”:
usera=request.form['user']
返回render_模板('lol.html')
@app.route(“/下载”)
def下载():
path=“I:/Python/”
users=User.query.all()
返回用户
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
app.run(host='0.0.0.0')
在flask返回旧文件时,我遇到了同样的问题(在您的情况下,即使代码更改,flask仍在发送文件)。此问题是由于文件缓存在浏览器中。清除浏览器缓存,您的api将开始工作。您是否尝试重新启动flask服务器?是的,我尝试了2-3次,但没有任何更改能否显示其余的服务器代码?当然。一秒钟后…一个人发布了一个答案,让我看看它是否有效,如果无效,我将发布代码。我该怎么做?清除浏览器缓存。Ctrl+F5我试过了,但没什么变化。Nvm,成功了。