<p>我是Python和web2py的新手,目前正面临一个奇怪的问题。
我有图片(图片)存储在我的数据库(SQL Server)中,我正试图在我的网站上显示。我已经成功地访问了数据库,并把信息带到了网页上,但我对图片有问题。在</p>
<p>最后,经过长时间的尝试,我终于找到了我的问题,这可以在下面的“下载”函数代码中看到。如果我试图从数据库中读取图像并将其返回,web浏览器就会卡住,什么也不显示。如果我将图像保存到一个临时静态文件中,然后读取它,然后返回结果,那么一切正常。在</p>
<p>我唯一的猜测是它和变量的范围有关,但我不确定。我的代码是:</p>
<pre><code>def download():
cursor = erpDbCnxn.cursor()
cursor.execute("SELECT Picture FROM KMS_Parts WHERE PartNo = '%s'" % request.args(0))
row = cursor.fetchone()
if row:
dbpic = row.Picture
f = open ("C:/Users/Udi/Desktop/tmp.jpg", "wb") ##This is just for the test
f.write(dbpic) ##This is just for the test
f.close() ##This is just for the test
f = open ("C:/Users/Udi/Desktop/tmp.jpg", "rb") ##This is just for the test
filepic = f.read() ##This is just for the test
f.close() ##This is just for the test
return filepic ##Returning dbpic doesn't work
else:
return
</code></pre>