0
私のウェブサイトにイメージをレンダリングしようとしていますが、動作しません(ファイルアイコンが壊れているだけです)。私が間違っていることを教えてください。Flask-SQLAlchemyからイメージをレンダリングする方法は?
私は画像をアップロードする方法方法:ここでは
@app.route('/UploadImages')
def UploadImages():
return render_template('UploadImages.html')
@app.route('/uploadImages', methods=['POST'])
def uploadImages():
name = current_user.USERNAME
file = request.files['inputFile']
newFile=IMAGES(
NAME=file.filename,
USERNAME=name,
DATA=file.read()
)
db.session.add(newFile)
db.session.commit()
return 'Saved ' + file.filename + 'to the database !'
は私のdbテーブルです:
class IMAGES(db.Model):
ID = db.Column(db.Integer,primary_key=True)
NAME = db.Column(db.String(300),unique=True)
DATA = db.Column(db.BLOB)
USERNAME = db.Column(db.String(15))
私は、ファイルが、私が使用している場合ので、正しくアップロードされていることを確信している:
@app.route('/download')
def download():
file_data = IMAGES.query.filter_by(USERNAME='test1').first()
return send_file(BytesIO(file_data.DATA),
attachment_filename='test.jpg',as_attachment=True)
画像が壊れることはありません。
@app.route('/image')
def image():
file_data = IMAGES.query.filter_by(USERNAME='test1').first()
image = b64encode(file_data.DATA)
return render_template('Image.html',data=list,image=image)
とウェブサイト上:
<img src="data:;b64encode,{{ image }}"/>
私は 'img src =" data:; base64、{{image}} "/>'を使っていますが、それでも同じです。私は画像オブジェクト(クロムF12)を調べた[リンク](https://1drv.ms/f/s!AvdPsdAoxFQkg61laJUQcoewnz8x6g)私は問題が変換であると思う(BLOB - >画像) –
私は 'image = base64 .b64encode(file_data.DATA).decode( 'ascii') 'とそれは動作します:) –