flask將mysql數(shù)據(jù)庫中的圖片返回至前端的步驟
前言
在使用flask構(gòu)建web應(yīng)用程序時(shí),有時(shí)需要從mysql數(shù)據(jù)庫中讀取圖片并將其返回給前端。以下步驟將指導(dǎo)你完成此操作:
1. 數(shù)據(jù)庫連接
首先,使用以下代碼連接到你的mysql數(shù)據(jù)庫:
import mysql.connector connection = mysql.connector.connect( host='你的主機(jī)地址', user='你的用戶名', password='你的密碼', database='你的數(shù)據(jù)庫名稱', buffered=true )
登錄后復(fù)制
2. 查詢圖片
接下來,編寫一個(gè)sql查詢以從數(shù)據(jù)庫中獲取圖片。例如:
select image_data from table_name where id = 1;
登錄后復(fù)制
3. 執(zhí)行查詢
使用mysql連接對象運(yùn)行查詢:
cursor = connection.cursor() cursor.execute(sql)
登錄后復(fù)制
4. 提取圖片
查詢結(jié)果將返回元組,其中包含結(jié)果行。提取圖片數(shù)據(jù):
image_bytes = row[0]
登錄后復(fù)制
5. 返回圖片
使用flask的send_file()函數(shù)將圖片返回給前端:
return send_file(image_bytes, mimetype='image/png')
登錄后復(fù)制
注意事項(xiàng)
- 確保image_data列的數(shù)據(jù)類型為二進(jìn)制大對象(blob)。
- 圖片二進(jìn)制數(shù)據(jù)在數(shù)據(jù)庫中存儲為字符串。通過解碼成bytes才能正確處理。
- 注意代碼編輯器的類型提示,有助于避免類型錯(cuò)誤。