如何解决如何在flask中显示mysql数据库中的任何文件,如pdf、text、doc
我想显示数据库中的一个文件,为此我将此文件保存到系统文件夹中。在这里,我执行了一个下载文件场景,但我想显示一个文件,如谷歌驱动器,他们可以在其中下载和显示文件。
这是我的数据库文件:- database file
这里只是我下载的文件:- Download File
我想在屏幕上显示该类型文件:- i want to display that type
我的代码:-
插入代码:-
@app.route('/crassign',methods=['POST'])
def crassign():
if g.email:
if request.method=='POST':
file=request.files['inputFile']
filename=secure_filename(file.filename)
name = request.form.get('name')
sname = request.form.get('sname')
stitle = request.form.get('stitle')
email = request.form.get('email')
Tid = request.form.get('Tid')
pdpart = request.form.get('pdpart')
ddate = request.form.get('ddate')
sdate = request.form.get('sdate')
amark = request.form.get('amark')
sem = request.form.get('sem')
adescription = request.form.get('adescription')
if file and allowed_file(file.filename):
file.save(os.path.join(app.config['UPLOAD_FOLDER'],filename))
newassign=Crassignment(stitle=stitle,Tid=Tid,pdpart=pdpart,sem=sem,sname=sname,name=name,email=email,file=file.filename,sdate=sdate,ddate=ddate,adescription=adescription,amark=amark,data=file.read())
db.session.add(newassign)
db.session.commit()
flash('Assignment Successfully created')
return redirect(url_for('createassignment'))
else:
flash('Invalid Uplaod only txt,pdf,doc,docx')
return redirect(url_for('createassignment'))
return redirect(url_for('teacherlogin'))
@app.route('/down/<file>',methods = ['GET'])
def down(file):
if g.email:
cur = MysqL.connection.cursor(MysqLdb.cursors.DictCursor)
result=cur.execute('select * FROM crassignment WHERE file = %s',(file,))
data = cur.fetchall()
cur.close()
file_path = UPLOAD_FOLDER + file
return send_file(file_path,as_attachment=True,attachment_filename='')
#return send_file(BytesIO(data.data),attachment_filename=data.file)
return redirect(url_for('login'))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。