Как отобразить много файлов, таких как PDF на странице, используя pymongo в колбе - PullRequest
0 голосов
/ 25 октября 2019

Я хочу отобразить загруженные файлы от пользователя (PDF, но, возможно, JPEG) на странице. Я использую колбу и mongoDB. Я храню файлы с помощью gridFS и gridfs tools. Я могу отобразить файлы, но они только выходят как jiberish, когда отображаются на HTML-странице.

Я успешно отображаю по одному файлу за раз, используя «return mongo.send_file (filename)», что замечательно, но есть ли способ отправить его в мой html, где я могу контролировать его вывод. Я перепробовал все виды. Соответствующий код для отображения файлов ниже.

<code>from flask import Flask, render_template, request, 
redirect,url_for,session,flash
import pymongo
from flask_pymongo import PyMongo
import datetime
import time
import gridfs

app = Flask(__name__)
app.config["MONGO_URI"] = "mongodb://localhost:27017/test_database"
mongo = PyMongo(app)

@app.route('/', methods=['GET', 'POST'])
def report_uploads():

    fs = gridfs.GridFS(mongo.db)
    for grid_out in fs.find({"filename": "group name"}, no_cursor_timeout=True):
        data.append(grid_out.read())

    return render_template('reportUploads1.html', data=data)

if (__name__) == ('__main__'):
    app.run(debug=True)

<pre>

html page

<!DOCTYPE html>

<head>
    <title>Upload document</title> 
    <style>

    </style>
</head>

<body>
    <div class="container-fluid justify-content-center p-2" style="width:60rem;">   
        {% for data in data %}
        <h2>{{ data }}<h2>
        {% endfor %}

    </div> 
</body> 

<script>

</html>
...