最近在用python寫一個小項目,要將保存在blob中的圖像文件直接顯示在html頁面上,以前都是用asp代碼來完成這樣的要求。
用戶的數據是sql server 2000 ,直接下了一個pywin32使用它的ado對象來訪問sql,web框架選用的是django ,在把數據從數據庫中讀出後,將bytes將類型轉換一下,然後使用HttpResponse()方法直接返回給客戶端就可以了。具體代碼如下:
1. 在 urls.py中加入這個路徑:
(r'^getimg/$',getimg)
2. 在view.py 中定義如下函數:
def getimg(request):
sqlstr = "select top 1 * from tu_photo where not photo is null"
rs = scidb().get_rs(sqlstr, 1, 1) #自己封裝的ado類庫,返回的是數據集
#photo字段中保存着圖片數據,用bytes轉換了一下,
img = bytes(rs("photo"))
return HttpResponse(img)
3 . 前端的html頁面代碼就更簡單了在需要的地方直接這樣寫就可以了:
<img src="http://localhost/getimg/" style="width:100%;height:100%">