Отправить BLOB-файл из Flask в JQuery - PullRequest
0 голосов
/ 07 мая 2019

Попытка вытащить BLOB или файл изображения из MySQL во Flask и отправить его в JQuery для отображения изображения в HTML. Я продолжаю получать сообщение об ошибке: «TypeError: Объект байтов типа не является сериализуемым JSON». Любая помощь будет потрясающей. Спасибо!

ФАЙЛ ПИТОНА

from flask import *
from flask_sqlalchemy import SQLAlchemy
import os
import time
import datetime
import json
import base64


app = Flask(__name__, template_folder='./templates')

app.config['SECRET_KEY'] = os.urandom(24)

app.config['SQLALCHEMY_DATABASE_URI'] = "sqlite:///C:/Users/Trey 
Thomas/Desktop/CMS/cms.db"

db = SQLAlchemy(app)


class Image(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    Image = db.Column(db.LargeBinary)

    def __init__(self, Image):
        self.Image = Image


@app.route('/')
def index():
    return render_template('index.html')

@app.route('/upload', methods=['GET', 'POST'])
def upload():
    file = request.files['file']
    new_file = base64.b64encode(file.read())
    add = Image(new_file)
    db.session.add(add)
    db.session.commit()
    return 'upload'

@app.route('/pull', methods=['GET', 'POST'])
def pull():
    get = Image.query.all()
    for i in get:
        return jsonify(base64.b64decode(i.Image))


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

IVE ПРОБОВАЛ ЭТО БЕЗ base64 БЕЗ УДАЧИ

ФАЙЛ JQUERY

$.getJSON("http://127.0.0.1:5000/pull", function(data) {
      console.log(data)
  });
...