Python 如何在flask中显示mysql数据库中的任何文件,如pdf、文本、文档

Python 如何在flask中显示mysql数据库中的任何文件,如pdf、文本、文档,python,mysql,flask,mysql-python,file-handling,Python,Mysql,Flask,Mysql Python,File Handling,我想显示此数据库中的文件。我已将此文件保存到系统文件夹中。在这里,我执行了一个下载文件的场景,但我想显示一个像谷歌硬盘一样的文件,在那里他们可以下载并显示一个文件 这是我的数据库文件:- 这里是我刚下载的文件:- 我想在屏幕上显示该类型的文件:- 我的代码:- 插入代码:- @app.route('/crassign',methods=['POST']) def crassign(): if g.email: if request.method=='POST':

我想显示此数据库中的文件。我已将此文件保存到系统文件夹中。在这里,我执行了一个下载文件的场景,但我想显示一个像谷歌硬盘一样的文件,在那里他们可以下载并显示一个文件

这是我的数据库文件:-

这里是我刚下载的文件:-

我想在屏幕上显示该类型的文件:-

我的代码:-

插入代码:-

@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),as_attachment=True,attachment_filename=data.file)
    return redirect(url_for('login'))

主要使用iframe在web浏览器中显示文件预览,而不是下载文件。如果您的文件类型类似于office,则可以签出此文件。